Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
如何替换URL编码字段上的php通配符_Php_Replace_Wildcard_Urlencode - Fatal编程技术网

如何替换URL编码字段上的php通配符

如何替换URL编码字段上的php通配符,php,replace,wildcard,urlencode,Php,Replace,Wildcard,Urlencode,我有几个编码字段,如下所示: 317+NALON++RD%2C%2BGananoque%2C%2BOntario%2C%2BCanada 简单的部分是用空格替换“+” 我的挑战是用空格替换“%2C”或“%2B” 有时“%”后面的文本可能不同,但始终是两个字符 我尝试使用str_replace(“%**”,”,urlencode($string)),但没有成功 有什么想法吗?str_replace()不处理通配符。您可以改为使用正则表达式(只要您确定要将所有%**更改为空格): 这将使用您的$st

我有几个编码字段,如下所示:

317+NALON++RD%2C%2BGananoque%2C%2BOntario%2C%2BCanada

简单的部分是用空格替换“+”

我的挑战是用空格替换“%2C”或“%2B”

有时“%”后面的文本可能不同,但始终是两个字符

我尝试使用str_replace(“%**”,”,urlencode($string)),但没有成功

有什么想法吗?

str_replace()
不处理通配符。您可以改为使用正则表达式(只要您确定要将所有%**更改为空格):

这将使用您的
$string
(我假定它已经是URL编码的)并用空格替换所有“+”和“%**”。请注意,它将用两个空格(用于两个匹配项)替换序列“%2C%2B”。编辑:正则表达式现在匹配任意数量的空格替换项,并用一个空格替换所有替换项

preg_replace("/(%..|\+)+/", ' ', $string);