一尘不染

通过链接获取网站标题

php

请注意,Google新闻在每篇文章摘要的底部都有来源。

卫报-美国广播公司新闻-路透社-彭博社

我正在尝试模仿。

例如,提交网址后,http://www.washingtontimes.com/news/2010/dec/3/debt-panel-fails- test-vote/我想返回The Washington Times

php这怎么可能?


阅读 1145

收藏
2020-05-26

共1个答案

一尘不染

我的答案正在扩展@AI W使用页面标题的答案。以下是完成他所说的代码。

<?php

function get_title($url){
  $str = file_get_contents($url);
  if(strlen($str)>0){
    $str = trim(preg_replace('/\s+/', ' ', $str)); // supports line breaks inside <title>
    preg_match("/\<title\>(.*)\<\/title\>/i",$str,$title); // ignore case
    return $title[1];
  }
}
//Example:
echo get_title("http://www.washingtontimes.com/");

?>

输出值

华盛顿时报-政治,最新消息,美国和世界新闻

如您所见,这并不完全是Google所使用的,因此这使我相信他们可以获得URL的主机名并将其与自己的列表匹配。

2020-05-26