0

我希望从字符串中删除所有字母数字字符并替换为空格(使用 PHP)。输入来自一个文本区域,该文本区域中粘贴了来自不同地方的数据,如 word、excel、网站、电子邮件等。

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

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

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

非常感谢!

4

4 回答 4

6

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

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

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

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

preg_replace('/[^a-zA-Z0-9]+/', ' ', $string)
于 2012-10-10T05:29:53.643 回答
0

尝试删除 \s

/[^a-zA-Z0-9]/
于 2012-10-10T05:28:59.023 回答
0

试试这个:

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

\s可能包括垂直标签。

于 2012-10-10T05:30:18.310 回答
0

\s可能用于垂直空间。

所以只需删除它:

/[^a-zA-Z0-9]/
于 2012-10-10T05:31:54.797 回答