给出一个URL。获取URL中title
标记内容的最佳方法是什么。
基本上我想检查http_referrer
,如果它存在,请返回引用页面的链接。但我希望链接能够说出引用页面的标题。
答案 0 :(得分:3)
第X页引用页面的<title>
标记不会存储在X中的任何位置。您需要请求引荐页面获取其<title>
标记。
以下是一些PHP代码的链接: Grab the title of a web page (local or remote)
我将稍微改变代码以适应您的用例:
<?php
$file = @ fopen($_SERVER['HTTP_REFERER'],"r") or die ("Can't open HTTP_REFERER.");
$text = fread($file,16384);
if (preg_match('/<title>(.*?)<\/title>/is',$text,$found)) {
$title = $found[1];
} else {
$title = " -- no title found -- ";
}
?>
请记住,您不能信任HTTP_REFERER
变量,因为浏览器(或插件等)可以更改它。 (1)
答案 1 :(得分:0)
正如GoalBased建议的那样,首先在给定的URL上加载文档。然后:
1)使用众多PHP HTML解析器中的任何一个来查找标题标记。
2)或者,如果你想要快速和脏,请使用正则表达式来查找字符串<title>(.*)</title>
,这可能比解析快得多,但偶尔可能会给你一个误报。 / p>