【问题标题】:PHP remove EVERY non alpha-numeric characterPHP删除每个非字母数字字符
【发布时间】:2012-10-10 05:24:30
【问题描述】:

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

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

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

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

非常感谢!

【问题讨论】:

  • 垂直制表符是空格符\s,

标签: php regex


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    尝试删除 \s

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

    【讨论】:

      【解决方案3】:

      \s 可能用于垂直空格。

      所以只需删除它:

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

      【讨论】:

        【解决方案4】:

        试试这个:

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

        \s 可能包括垂直制表符。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-01
          • 1970-01-01
          相关资源
          最近更新 更多