我有几个编码字段,如下所示:
317 + ++纳隆河RD%2C%2BGananoque%2C%2BOntario%2C%2BCanada
简单的部分是用空格替换“+”。
我的挑战是用空格替换“%2C”或“%2B”。
有时“%”之后的文字可能会有所不同,但它总是两个字符。
我尝试使用str_replace(“%**”,“”,urlencode($ string)),但没有运气。
有什么想法吗?
答案 0 :(得分:0)
str_replace()
不处理通配符。您可以使用正则表达式(只要您确定要将所有%**更改为空格):
preg_replace("/(%..|\+)+/", ' ', $string);
这将使您的$string
(我认为已经是URL编码)并用空格替换所有'+'和'%**'。 请注意,它将用两个空格(用于两个匹配)替换序列'%2C%2B'编辑:正则表达式现在匹配任意数量的空格替换,并为所有空格替换一个空格。