Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 正则表达式从另一个url中获取url_Php_Regex_Url_Urlencode - Fatal编程技术网

Php 正则表达式从另一个url中获取url

Php 正则表达式从另一个url中获取url,php,regex,url,urlencode,Php,Regex,Url,Urlencode,要从中提取的字符串:http:\/\/c.ypcdn.com\/2\/c\/rtd?vrid=357c99c36bd7ed631eda2e43fc9e30f8&rid=283d465f-f63b-4b0d-90b0-be6c12ed7617&ptid=943aw4l8qj&ypid=11720135&lid=194823099&tl=6&lsrc=SP&dest=http%3A%2F%2F cleanation.com 我以前使用过的正则表达式:www\.*?\.\w{2,5} 然而,上面的正则

要从中提取的字符串:
http:\/\/c.ypcdn.com\/2\/c\/rtd?vrid=357c99c36bd7ed631eda2e43fc9e30f8&rid=283d465f-f63b-4b0d-90b0-be6c12ed7617&ptid=943aw4l8qj&ypid=11720135&lid=194823099&tl=6&lsrc=SP&dest=http%3A%2F%2F cleanation.com

我以前使用过的正则表达式:
www\.*?\.\w{2,5}

然而,上面的正则表达式只有在有“www”的情况下才会抓取URL。在里面。如果我去掉正则表达式的“www”,它只会抓取c.ypcdn.com。我想抓住字符串末尾的Cleanation.com

需要是动态的,以便它可以从该url中抓取任何没有“www.”的url。

为什么不使用,然后在返回的
查询
索引上获取它

编辑:示例:

$url= "http://c.ypcdn.com/2/c/rtd?vrid=357c99c36bd7ed631eda2e43fc9e30f8&rid=283d465f-f63b-4b0d-90b0-be6c12ed7617&ptid=943aw4l8qj&ypid=11720135&lid=194823099&tl=6&lsrc=SP&dest=http%3A%2F%2FCleanation.com";
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query,$params);
echo $params['dest'];

如果这始终是
dest
参数,您可以通过以下方式获取它:

"dest=https?%3A%2F%2F([^?&]+?)"
如果它远离最后一个参数,您可以通过以下方式获取它:

"dest=https?%3A%2F%2F(.+)$"

它总是“dest”参数吗?可能是Wow的复制品,效果更好。谢谢我对PHP还是很陌生。