在 PHP 中检索<标题>的最快方法
我正在做一个书签系统,并寻找使用PHP检索页面标题的最快(最简单)方法。
有这样的东西会很好$title = page_title($url)
我正在做一个书签系统,并寻找使用PHP检索页面标题的最快(最简单)方法。
有这样的东西会很好$title = page_title($url)
<?php
function page_title($url) {
$fp = file_get_contents($url);
if (!$fp)
return null;
$res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches);
if (!$res)
return null;
// Clean up title: remove EOL's and excessive whitespace.
$title = preg_replace('/\s+/', ' ', $title_matches[1]);
$title = trim($title);
return $title;
}
?>
在以下输入上给'er一个旋风:
print page_title("http://www.google.com/");
输出:谷歌
希望足够通用,适合您的使用。如果你需要更强大的东西,投入一点时间来研究HTML解析器可能不会有什么坏处。
编辑:添加了一些错误检查。有点匆匆忙忙地把第一个版本拿出来了,抱歉。
您可以在没有reg表达式的情况下获取它:
$title = '';
$dom = new DOMDocument();
if($dom->loadHTMLFile($urlpage)) {
$list = $dom->getElementsByTagName("title");
if ($list->length > 0) {
$title = $list->item(0)->textContent;
}
}