2012-03-28 40 views
0

除了a-z(帶大寫)和下劃線_之外,如何去除字符串中的所有字符?只保留a-z和下劃線字符

+0

可能重複[刪除空間,任何不是字母(http://stackoverflow.com/questions/4210419/除去-空間,和什麼 - 這 - 是 - 不是字母數字) – 2012-03-28 11:16:33

回答

5

正則表達式如何?

$output = preg_replace('#[^a-zA-Z_]#', '', $input); 

這會將與表達式匹配的所有內容替換爲空字符串。

[]是一組符號,在組的開頭的^意味着:這個組包含了之後沒有提及的每個字符。因此它包含了不是a-z或A-Z或下劃線的所有內容。

1

您可以使用此功能preg_replace:中

$string = 'Text& with* [email protected] that get# removed, but_not_underscore.'; 
echo preg_replace('/[^A-Za-z_]/', '', $string);