讓我們說我們有隨機字符串這樣的:如何用preg_replace和PHP替換特殊字符?
$ str_test = 「faafŠšCCZ的DJčšđCCS ZZ發fssfa AFZafžsaF」;
和大家做一些關於它的preg_replace函數:
preg_replace("/[^\da-z ]/i", "_", $str_test);
而結果我得到的是:
faaf__ __ ______ ____ ______ ______ ____ fa fssfa af__ af__sa f
所以,如果我們比較博特 - 輸入和輸出:
faaf__ __ ______ ____ ______ ______ ____ fa fssfa af__ af__sa f
faafŠ š čćž đš čšđ ćčš žž fa fssfa afž afžsa f
我們可以看到所有的特殊字符都被兩個s替代ignt「_」 ......結果應該是:
faaf_ _ ___ __ ___ ___ __ fa fssfa af_ af_sa f
faafŠ š čćž đš čšđ ćčš žž fa fssfa afž afžsa f
我曾與編碼已經嘗試過,但沒有成功。我也想過做函數做多的preg_match一次,不是取代「_ 」與「 「......但這對大文本來說會很慢......
任何想法?
你試過'/ [^ \ da-z] {1,2}/i'嗎? –
1)。確保你的php文件具有UTF-8編碼而不用BOM。 2)。在preg_replace函數集標誌處理這個作爲unicode小寫字母'u'後最後一個斜槓'/'或'我'標誌 – przeqpiciel