【问题标题】:Best way to get the contents of TITLE TAG from page URL从页面 URL 获取 TITLE TAG 内容的最佳方法
【发布时间】:2010-07-19 18:53:50
【问题描述】:

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

基本上,我想检查http_referrer,如果它存在,请提供一个指向引荐页面的链接。但我希望链接能说出引荐页面的标题。

【问题讨论】:

    标签: php


    【解决方案1】:

    页面 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)

    【讨论】:

      【解决方案2】:

      按照 GoalBased 的建议,首先在给定的 URL 加载文档。那么:

      1) 使用多种 PHP HTML 解析器中的任何一种来查找标题标签。

      2) 或者,如果您希望它快速而肮脏,请使用正则表达式来查找字符串 &lt;title&gt;(.*)&lt;/title&gt;,这可能比解析快得多,但有时可能会给您带来误报。

      【讨论】:

        猜你喜欢
        • 2011-05-12
        • 2013-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        相关资源
        最近更新 更多