除了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 );