PHP删除每个非字母数字字符

时间:2012-10-10 05:24:30

标签: php regex

我希望从字符串中删除所有字母数字字符并用空格替换(使用PHP)。输入来自textarea,其中包含从word,excel,网站,电子邮件等各种地方粘贴的数据。

我正在使用这个正则表达式

/[^a-zA-Z0-9\s]/

但我发现仍有Vertical Tabs(ascii#13)。我希望我的最终结果只包括字母和数字,没有换行符,标签,垂直标签等

非常感谢!

4 个答案:

答案 0 :(得分:6)

垂直制表符由空白字符(\s

匹配

如果要用空格替换每个非字母数字字符,请使用

preg_replace('/[^a-zA-Z0-9]/', ' ', $string)

如果您想用一个空格替换非alnums的每个组(连续字符),请使用

preg_replace('/[^a-zA-Z0-9]+/', ' ', $string)

答案 1 :(得分:0)

尝试删除\ s

/[^a-zA-Z0-9]/

答案 2 :(得分:0)

试试这个:

/[^a-zA-Z0-9 ]/

\s可能包含垂直标签。

答案 3 :(得分:0)

\s可能用于垂直空间。

所以只需删除它:

/[^a-zA-Z0-9]/