Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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正则表达式_Php_Regex - Fatal编程技术网

Php 获取完整url正则表达式

Php 获取完整url正则表达式,php,regex,Php,Regex,我有一个正则表达式,它可以正确处理url,但当我使用包含@的url时,它不会在@之后显示任何内容。如何编辑正则表达式以显示完整的url <?php $regex = "/(https?\:\/\/|\s)[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})(\/+[a-z0-9_.\:\;-]*)*(\?[\&\%\|\+a-z0-9_=,\.\:\;-]*)?([\&\%\|\+&a-z0-9_=,\:\;\.-]*)([\!\

我有一个正则表达式,它可以正确处理url,但当我使用包含@的url时,它不会在@之后显示任何内容。如何编辑正则表达式以显示完整的url

    <?php

$regex = "/(https?\:\/\/|\s)[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})(\/+[a-z0-9_.\:\;-]*)*(\?[\&\%\|\+a-z0-9_=,\.\:\;-]*)?([\&\%\|\+&a-z0-9_=,\:\;\.-]*)([\!\#\/\&\%\|\+a-z0-9_=,\:\;\.-]*)}*/i";


$url = "http://www.flickr.com/photos/16506140@N05/8376411748/in/photostream/";

preg_match_all($regex, $url, $matches);

echo'<pre>';
print_r($matches);
echo '<pre>';

?>


演示

如果您想访问url的多个部分,强烈建议您使用该功能而不是自定义正则表达式解决方案:

输出:


如果您想访问url的多个部分,强烈建议您使用该函数而不是自定义正则表达式解决方案:

输出:


如果您想访问url的多个部分,强烈建议您使用该函数而不是自定义正则表达式解决方案:

输出:


如果您想访问url的多个部分,强烈建议您使用该函数而不是自定义正则表达式解决方案:

输出:



如果你写了它,那么你应该知道你必须在某处添加一些
@
。。。为了简单起见,我可以使用
~https?://\S+~I
@HamZa从某处复制它。我对regex很了解。你能给我看一下添加了@&
~https的正则表达式吗//\本次试用这一美元的一个以上的国家(i和/代码>和本次试用这一美元的一个以上的国家(i-a-z0-9-10-9-9-9-9-9-5-i)的+我本人(i和/代码>和/代码>以及/代码/代码>以及/代码/代码/代码>以及/代码>试图试图试图试图试图试图尝试用这一次次的一个以上的上述上述上述上述上述的一个国家(本本次次次)的一次次次试图试图试图试图试图试图试图试图试图试图试图试图将将在本本本本本次次的上述上述上述上述上述上述上述上述的一个大概大概大概大概大概大概大概大概大概大概大概大概大概大概的一个试图试图试图试图试图试图试图试图试图试图试图试图试图的一个大概大概大概的一个试图,以及本本本本本本本本本本本次试图试图试图试图试图试图试图试图试图试图试图试图试图的一个9.*,\:\;\.-]*)}*/i”@user2894116 anubhava刚刚发现了一个副本,您可以使用它。想知道这里的讨论。。使用
parse_url()
,如果您编写了它,那么您应该知道您必须在某处添加一些
@
。。。为了简单起见,我可以使用
~https?://\S+~I
@HamZa从某处复制它。我对regex很了解。你能给我看一下添加了@&
~https的正则表达式吗//\本次试用这一美元的一个以上的国家(i和/代码>和本次试用这一美元的一个以上的国家(i-a-z0-9-10-9-9-9-9-9-5-i)的+我本人(i和/代码>和/代码>以及/代码/代码>以及/代码/代码/代码>以及/代码>试图试图试图试图试图试图尝试用这一次次的一个以上的上述上述上述上述上述的一个国家(本本次次次)的一次次次试图试图试图试图试图试图试图试图试图试图试图试图将将在本本本本本次次的上述上述上述上述上述上述上述上述的一个大概大概大概大概大概大概大概大概大概大概大概大概大概大概的一个试图试图试图试图试图试图试图试图试图试图试图试图试图的一个大概大概大概的一个试图,以及本本本本本本本本本本本次试图试图试图试图试图试图试图试图试图试图试图试图试图的一个9.*,\:\;\.-]*)}*/i”@user2894116 anubhava刚刚发现了一个副本,您可以使用它。想知道这里的讨论。。使用
parse_url()
,如果您编写了它,那么您应该知道您必须在某处添加一些
@
。。。为了简单起见,我可以使用
~https?://\S+~I
@HamZa从某处复制它。我对regex很了解。你能给我看一下添加了@&
~https的正则表达式吗//\本次试用这一美元的一个以上的国家(i和/代码>和本次试用这一美元的一个以上的国家(i-a-z0-9-10-9-9-9-9-9-5-i)的+我本人(i和/代码>和/代码>以及/代码/代码>以及/代码/代码/代码>以及/代码>试图试图试图试图试图试图尝试用这一次次的一个以上的上述上述上述上述上述的一个国家(本本次次次)的一次次次试图试图试图试图试图试图试图试图试图试图试图试图将将在本本本本本次次的上述上述上述上述上述上述上述上述的一个大概大概大概大概大概大概大概大概大概大概大概大概大概大概的一个试图试图试图试图试图试图试图试图试图试图试图试图试图的一个大概大概大概的一个试图,以及本本本本本本本本本本本次试图试图试图试图试图试图试图试图试图试图试图试图试图的一个9.*,\:\;\.-]*)}*/i”@user2894116 anubhava刚刚发现了一个副本,您可以使用它。想知道这里的讨论。。使用
parse_url()
,如果您编写了它,那么您应该知道您必须在某处添加一些
@
。。。为了简单起见,我可以使用
~https?://\S+~I
@HamZa从某处复制它。我对regex很了解。你能给我看一下添加了@&
~https的正则表达式吗//\本次试用这一美元的一个以上的国家(i和/代码>和本次试用这一美元的一个以上的国家(i-a-z0-9-10-9-9-9-9-9-5-i)的+我本人(i和/代码>和/代码>以及/代码/代码>以及/代码/代码/代码>以及/代码>试图试图试图试图试图试图尝试用这一次次的一个以上的上述上述上述上述上述的一个国家(本本次次次)的一次次次试图试图试图试图试图试图试图试图试图试图试图试图将将在本本本本本次次的上述上述上述上述上述上述上述上述的一个大概大概大概大概大概大概大概大概大概大概大概大概大概大概的一个试图试图试图试图试图试图试图试图试图试图试图试图试图的一个大概大概大概的一个试图,以及本本本本本本本本本本本次试图试图试图试图试图试图试图试图试图试图试图试图试图的一个9.*,\:\;\.-]*)}*/i”@user2894116 anubhava刚刚发现了一个副本,您可以使用它。想知道这里的讨论。。使用
parse_url()
,仅此而已。我可以用它代替正则表达式吗?是的,它是用来代替正则表达式解决方案的。我可以用它代替正则表达式吗?是的,它是用来代替正则表达式解决方案的。我可以用它代替正则表达式吗?是的,它是用来替代您的正则表达式解决方案的。我可以用它代替正则表达式吗?是的,它是用来替代您的正则表达式解决方案的。
$url = "http://www.flickr.com/photos/16506140@N05/8376411748/in/photostream/";
var_dump(parse_url($url));
array(3) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(14) "www.flickr.com"
  ["path"]=>
  string(47) "/photos/16506140@N05/8376411748/in/photostream/"
}