2012-07-10 64 views
0

IM使用此代碼如何使用preg_replace在php中刪除不需要的字符?

$output = preg_replace('/[^(\x20-\x7F)]*/','', $output); 

我的目標是消除這個角色,但代碼中刪除所有不想要的字符。

請幫我刪除該字符。

謝謝。

+0

@sachleen謝謝。還有一件事,我應該如何把U + 1F60A放在代碼中?我真的不熟悉preg_replace的格式。謝謝。 – tsmind 2012-07-10 02:38:27

+1

爲什麼不使用'str_replace()'?我聽到配發的關於正則表達式的東西是一個貪婪的,低效的某某... – 2012-07-10 02:43:11

回答

0

我以前this site找到該字符的代碼。您的代碼替換所有字符在我不知道如何使用代碼來執行它的範圍\x20-\x7F

,但如果你只是把人物在那裏,它的工作原理。不過要小心,如果你的文本編輯器不支持Unicode它可能什麼也沒有,所以當你保存文件,它不會工作,取代它。

echo preg_replace('/*/','', $str); 
> ter but th 
echo str_replace('', '', $str); 
> ter but th 
+1

否,不替換所有字符\ x20- \ 0x7F部分。看到[之後的^。你的代碼不應該工作,因爲你替換了除了你想刪除的字符之外的所有東西。 – walrii 2012-07-10 02:57:25

+0

啊,你是對的!修正了。 – sachleen 2012-07-10 02:58:24

+0

@sachleen我得到這個錯誤 警告:的preg_replace()編譯失敗:PCRE不支持\ L,\ L,\ N {}名稱,\ U,或帶有\ U – tsmind 2012-07-10 03:03:15

相關問題