如何避免php解析“解析时url返回false”/s?a=12&;b=12.3.3.4:1233“;其中有一句话:&引用;在情人节?
如何避免php parse_url在解析“”/s时返回false?a=12&b=12.3.3.4:1233“在参数中有“:”如何避免php解析“解析时url返回false”/s?a=12&;b=12.3.3.4:1233“;其中有一句话:&引用;在情人节?,php,parse-url,Php,Parse Url,如何避免php parse_url在解析“”/s时返回false?a=12&b=12.3.3.4:1233“在参数中有“:” <?php var_dump(parse_url('/s?a=
<?php
var_dump(parse_url('/s?a=12&b=12.3.3.4:1233', PHP_URL_QUERY));
以下是联机运行测试结果:
在PHP7.1.7中测试良好
print_r(parse_url('/s?a=12&b=12.3.3.4:1233', PHP_URL_QUERY));
退货:
a=12&b=12.3.3.4:1233
在PHP7中,您可以省略
方案
和主机
,但低于该版本则不能
因此,您还应始终包括方案和主机
<?php
echo 'Without scheme and host'.PHP_EOL;
print_r(parse_url('/s?a=12&b=12.3.3.4:1233', PHP_URL_QUERY));
echo PHP_EOL.PHP_EOL;
echo 'With scheme and host'.PHP_EOL;
print_r(parse_url('http://example.com/s?a=12&b=12.3.3.4:1233', PHP_URL_QUERY));
5.6.0-5.6.30、hhvm-3.18.5-3.22.0的输出
Without scheme and host
a=12&b=12.3.3.4:1233
With scheme and host
a=12&b=12.3.3.4:1233
Without scheme and host
With scheme and host
a=12&b=12.3.3.4:1233
很好的解决方案!有没有一种方法可以正确解析部分URL?你是什么意思?只要确保你有一个方案和主机,这个值可能是假的。我在检查域名时就知道这个问题,如果你不添加方案,
Without scheme and host
With scheme and host
a=12&b=12.3.3.4:1233