有效字符包括字母(abcd..)、数字(0123456789)、空格、' 和 "。
我需要在 PHP 中从字符串中除去这些字符以外的任何其他字符。
谢谢 :)
您可以这样做:
$str = preg_replace('/[^a-z0-9 "\']/', '', $str);
这里的字符类 [^a-z0-9 "']
将会匹配除了列出的字符(注意在字符类开头的反转符号 ^
)以外的任何字符,然后用空字符串替换。
Gumbo的回答对于您给出的规格是正确的。但是,如果您的“规格”仅仅是“符号性的”,那么您最终需要的可能会像下面这样:
$str = preg_replace('{ [^ \w \s \' " ] }x', '', $str );
[^ ]
: 否定字符类(除了这些内部的所有字符)
\w
: 字母数字(字母和数字)
\s
: 空白字符
\'
: '
/[^a-z0-9 "\']/g
来匹配所有这些字符的出现吗?(而不仅仅是第一个) - Razor Storm