从页面URL获取TITLE TAG内容的最佳方法

时间:2010-07-19 18:53:50

标签: php

给出一个URL。获取URL中title标记内容的最佳方法是什么。

基本上我想检查http_referrer,如果它存在,请返回引用页面的链接。但我希望链接能够说出引用页面的标题。

2 个答案:

答案 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>