我希望从字符串中删除所有字母数字字符并替换为空格(使用 PHP)。输入来自一个文本区域,该文本区域中粘贴了来自不同地方的数据,如 word、excel、网站、电子邮件等。
我正在使用这个正则表达式
/[^a-zA-Z0-9\s]/
但我发现仍然有Vertical Tabs
(ascii #13)。我希望我的最终结果只包含字母和数字,没有换行符、制表符、垂直制表符等
非常感谢!
垂直制表符由空白字符 ( \s
)匹配
如果您想用空格替换每个非字母数字字符,请使用
preg_replace('/[^a-zA-Z0-9]/', ' ', $string)
如果你想用一个空格替换非alnums的每组(连续字符),使用
preg_replace('/[^a-zA-Z0-9]+/', ' ', $string)
尝试删除 \s
/[^a-zA-Z0-9]/
试试这个:
/[^a-zA-Z0-9 ]/
\s
可能包括垂直标签。
\s
可能用于垂直空间。
所以只需删除它:
/[^a-zA-Z0-9]/