2012-01-16 91 views
0

我需要动态地清理页面中的Google新闻链接,并获取内容的实际链接。preg_match REGEX清理,根据起始和结束标识字符串

谷歌新闻链接看起来是这样的:

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和消除网址中的“非必要”部分,本质上针对以http://news.google。开头的所有内容。 com并且以&结尾url =

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

正如你可能会说,我不是正则表达式专家。 :)

非常感谢!

回答

1

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

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

1

如果我已经理解了你,你只需要在&url=之后得到部分,所以这可以通过一个简单的正则表达式来解决,如&url=(.*)$。如果url后有其他GET值,则需要&url=(.*)&

我推荐Rubular尝试和正则表达式玩,虽然它是基于ruby的。

+0

感谢Rubular! – Tylerr 2012-01-16 09:01:28

相关问题