如何替换URL编码字段上的php通配符
我有几个编码字段,如下所示: 317+NALON++RD%2C%2BGananoque%2C%2BOntario%2C%2BCanada 简单的部分是用空格替换“+” 我的挑战是用空格替换“%2C”或“%2B” 有时“%”后面的文本可能不同,但始终是两个字符 我尝试使用str_replace(“%**”,”,urlencode($string)),但没有成功 有什么想法吗?如何替换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
str_replace()
不处理通配符。您可以改为使用正则表达式(只要您确定要将所有%**更改为空格):
这将使用您的$string
(我假定它已经是URL编码的)并用空格替换所有“+”和“%**”。请注意,它将用两个空格(用于两个匹配项)替换序列“%2C%2B”。编辑:正则表达式现在匹配任意数量的空格替换项,并用一个空格替换所有替换项
preg_replace("/(%..|\+)+/", ' ', $string);