【问题标题】:Is there a PHP equivalent of Perl's URI::ParseSearchString?是否有与 Perl 的 URI::ParseSearchString 等效的 PHP?
【发布时间】:2011-04-15 10:33:56
【问题描述】:

我正在为一个客户做一些工作,涉及解析来自 Google 等的引荐来源信息,以将页面的各个部分定位到用户的搜索关键字。

我注意到 Perl 的 CPAN 有一个名为 URI::ParseSearchString 的模块,它似乎完全符合我的需要。问题是,我需要用 PHP 来做。

所以,为了避免重新发明轮子,有谁知道是否有一个 PHP 库可以做相同/相似的事情?

【问题讨论】:

    标签: php perl search-engine cpan referrer


    【解决方案1】:

    parse_str() 就是你要找的东西。

    您可能还想使用parse_url() 来获取搜索字符串。

    【讨论】:

    • 谢谢 - 不过我会指出我在 @sdolgy 的帖子上发表的评论。
    【解决方案2】:

    我是该模块的作者。据我所知,我从未见过 PHP 有类似的东西。如果您确实遇到任何事情,请告诉我。

    话虽如此,我无法想象这很难移植到 PHP,如果你没有找到类似的东西,我可以尝试一下。

    斯皮罗斯

    【讨论】:

    • 谢谢 - 当我的搜索没有结果时,我很惊讶!也许港口是最好的选择;我会及时通知你我的狩猎结果,如果没有任何结果,也许我们可以谈谈在港口上进行合作?
    • 我还没有开始这项工作,但我希望这周的某个时候开始。会让你知道的。
    • 嗨,Spiros - 我在周末完成了一个非常基本的 PHP 移植。我想知道是否可以为您提供一些联系方式,以便我们可以在其他地方进行讨论?谢谢
    • 嘿,很抱歉回复晚了 - 在 gmail.com 的 s dot denaxas 给我发电子邮件
    【解决方案3】:

    也许这效率太低或者 http_referer 没有显示完整的 uri ...

    function parse_uri($uri) {
      if (substr_count('?', $uri) > 0) { 
        $queryString = explode('?', $uri);
        return parse_str($queryString[1]);
      } else { 
        return parse_str($uri);
      }
    }
    
    
    if (isset($_SERVER['HTTP_REFERER'])) { 
            print_r(parse_uri($_SERVER['HTTP_REFERER']));
    }
    

    【讨论】:

    • 谢谢-但是,我并不是真的在寻找有关如何“自己动手”的建议-解析阶段是微不足道的,我正在寻找的是包含搜索知识的东西引擎及其参数,就像 ParseSearchString 一样。
    猜你喜欢
    • 2010-09-16
    • 2010-11-08
    • 2010-09-29
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多