【问题标题】:preg_match REGEX cleanup, identifying strings based on starting and endingpreg_match REGEX 清理,根据开始和结束识别字符串
【发布时间】:2012-02-11 05:14:06
【问题描述】:

我需要动态清理页面中的谷歌新闻链接,并获取内容的实际链接。

Google 新闻链接如下所示:

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=http://www.reuters.com/article/2012/01/15/us-obama-mlk-idUSTRE80E0PD20120115

我想保留实际链接,&url= 之后的所有内容:

http://www.reuters.com/article/2012/01/15/us-obama-mlk-idUSTRE80E0PD20120115

我需要 preg_match/preg_replace 并消除 URL 的“非必要”部分,本质上是针对以 http://news.google.com开头的所有内容> 并以 &url= ?

结尾
http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=

如您所知,我不是正则表达式专家。 :)

非常感谢!

【问题讨论】:

    标签: php regex


    【解决方案1】:

    您可以将preg_replace~http://new\.google\.com.*?&url=~ 一起使用,替换为''。

    或者,您可以将preg_match&url=(.*)$ 一起使用并拉出$1

    【讨论】:

      【解决方案2】:

      如果我理解您的意思,您只想在&url= 之后添加部分,因此可以使用&url=(.*)$ 之类的简单正则表达式来解决此问题。如果 url 后面还有其他 GET 值,则需要&url=(.*)&

      我建议Rubular 尝试使用正则表达式,尽管它是基于 ruby​​ 的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-14
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 2015-06-13
        相关资源
        最近更新 更多