只保留a-z和下划线字符


Keep only a-z and underscore characters

除了a-z(大写)和下划线_之外,如何从字符串中删除所有字符?

正则表达式怎么样?

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

这将用空字符串替换与表达式匹配的所有内容。

[]是一组符号,组开头的^表示:该组包含后面未提及的每个字符。所以它包含了所有不是a-z、a-z或下划线的东西。

阅读有关正则表达式的更多信息。试试这个

$string = preg_replace('/[^a-z_]/', '', $string);

您可以为此使用preg_replace函数:

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