Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_match REGEX cleanup,根据开始和结束标识字符串_Php_Regex - Fatal编程技术网

Php preg_match REGEX cleanup,根据开始和结束标识字符串

Php preg_match REGEX cleanup,根据开始和结束标识字符串,php,regex,Php,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://ww

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

谷歌新闻链接如下所示:

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_替换并删除URL中的“非必要”部分,本质上是针对从开始的所有内容http://news.google.com并以&url=结尾

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=
正如你可能知道的,我不是正则表达式专家


非常感谢

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


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

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


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

您可以使用
preg\u替换
~http://new\.google\.com.*?&url=~
,替换为“”


或者,您可以使用
preg\u match
&url=(.*)$
并拉出
$1
您可以使用
preg\u替换
~http://new\.google\.com.*?&url=~
,替换为“”

或者,您可以将
preg\u match
&url=(.*)$
一起使用,然后拉出
$1