大家下午好,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