2011-08-17 50 views
1

由於有多種編碼「特殊」字符的方法,特別是&符號,如何進行字符串比較以從兩個字符中刪除所有特殊字符針和乾草堆允許「蘋果到蘋果」的比較來檢查針是否出現在乾草堆中?如何淨化包含&符號的字符串以便與另一個文本字符串進行比較

例如,如果我有一個針「黑色&分層」,我想將其消毒到「黑色甲板」,然後看看「黑色甲板」是否出現在乾草堆中,我將需要做同樣的事情爲了解釋「和」字編碼的所有方式以及「黑色分層」如何被編碼以出現在乾草堆中,我替換了乾草堆。

& 
& (I've only seen this in WordPress editor markup) 
&#038 

是否有preg_replace,正則表達式或替換方法可以做到這一點在一定程度上的準確性?

回答

1

是否要將字符串縮小爲字母,數字和空格?爲此,我會使用 preg_replace('/[^\w\d ]/', '') 這基本上消除了任何東西,這不是一個「單詞字符」,數字或空間

+0

如果什麼草堆(或爲此事針)存儲爲「黑&雙層」,取代字符串將會是「黑色甲板」,不是嗎? –

+0

是真的,我忘了那個。在這種情況下,首先通過'htmlspecialchars_decode()'傳遞字符串。 很難做出像這樣普遍的東西,你只需要知道你可能遇到的不同的編碼 –

+0

+1的解決方法!現在測試它 –

相關問題