2012-03-28 42 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);