大家下午好,Preg_replace特殊字符&
我在我的preg_replace中有一个错误。我想将&&
替换为&
和?&
以及?
。
我的代码如下所示:
$reg = preg_replace("#\&\&#is", "&
", $reg);
$reg = preg_replace("#\?\&#is", "?
", $reg);
能否请你帮我解决这个问题?我相信,它有一些基本的错误,所以对不起...
谢谢!
大家下午好,Preg_replace特殊字符&
我在我的preg_replace中有一个错误。我想将&&
替换为&
和?&
以及?
。
我的代码如下所示:
$reg = preg_replace("#\&\&#is", "&
", $reg);
$reg = preg_replace("#\?\&#is", "?
", $reg);
能否请你帮我解决这个问题?我相信,它有一些基本的错误,所以对不起...
谢谢!
你不需要逃避&
只有?
$reg = preg_replace("#&&#", "&", $reg);
$reg = preg_replace("#\?&#", "?", $reg);
它不适合我... original'$ reg'包含“?(space)&”所以我尝试了'$ reg = preg_replace(“#\?&# “,”?“,$ reg);'但是当我尝试'echo'$ reg';'没有任何变化...... –
@HSturma然后你需要添加空间到正则表达式...''$ reg = preg_replace (“#\?\ s&#”,“?”,$ reg);'''\ s'用于空格 – jmattheis
但仍然没有任何内容..我真的不知道,为什么它不起作用... Here是正确的原始reg包含:“?&lang = en” –
您可以在两个regexs简化成一个。
echo preg_replace("#([?&])\s*&#", "$1", ' ? &lang=en');
输出:既然你不使用字母字符或.
?lang=en
你修饰符没有意义。
另外&
不是一个特殊的正则表达式字符,只是?
。如果在字符类([]
)中不需要被替换。
Regex101演示:https://regex101.com/r/iS4mQ0/1
为什么换行符中的换行符?你确定它是''发送的,而不是'&'? – knittl
@knittl我相信这是“&”。那么,它不应该是换行符,我只是不知道,如何使这项工作... –
你想只取代2'&'s或所有'&'s> = 2? – chris85