使用curl命令获取网页标题

4

我正在使用以下代码从指定页面获取完整的HTML

$url = "http://www.google.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close ($ch);

问题:如何修改这段代码以便返回页面的<title>,而不是整个html。$result储存了结果。

你将获得页面的完整HTML,如果你读取Google URL,还可能会有很多JavaScript内容。Ryan Naddy的正则表达式看起来对我来说是正确的。 - Ray Paseur
3个回答

11

你可以使用正则表达式获取标题,我发现这个正则表达式非常有用:

function get_html_title($html){
    preg_match("/\<title.*\>(.*)\<\/title\>/isU", $html, $matches);
    return $matches[1];
}

4
您不能仅获取标题,您需要获取整个文档,并排除您不需要的元素:我喜欢使用简单HTML DOM解析器
$html = file_get_html('http://www.google.com/');
$title = $html->find('title');

链接已失效。 - ethry

-3

查看解析结果的内容

可以使用正则表达式

或者DOM文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接