有效字符包括字母(abcd ..),数字(0123456789),空格,'和“。
我需要从PHP中的字符串中删除除这些之外的任何其他字符。
谢谢:)
答案 0 :(得分:26)
你可以这样做:
$str = preg_replace('/[^a-z0-9 "\']/', '', $str);
此处,字符类[^a-z0-9 "']
将匹配除列出的字符之外的任何字符(请注意字符类开头的反转^
),然后将其替换为空字符串。
答案 1 :(得分:1)
Gumbo's answer对于您指定的规范是正确的。但如果你的“规范”只是“象征性”,你最终需要的可能如下:
$str = preg_replace('{ [^ \w \s \' " ] }x', '', $str );
[^ ]
:否定字符类(所有除了这些内部)
\w
:字母数字(字母和数字)
\s
:空格
\'
:'