【问题标题】:PHP - Remove all characters from string except listed characters and line returnsPHP - 从字符串中删除除列出的字符和行返回之外的所有字符
【发布时间】:2022-11-25 01:03:51
【问题描述】:

我有一个 php 输入过滤器,可以清除字符串中所有不需要的字符。 这个:

$clean = preg_replace("/[^a-z0-9 \.\-\"_',]/i", "", $string);

这工作正常,但我还保留了字符串中所有字符返回的内容。 我尝试了不同的方法,例如将 '\n\r' 或 '\R' 或 '\n\r' 添加到括号中的字符列表或将 '/m' 添加到标志中。 我只是找不到合适的组合。 有什么建议么?

【问题讨论】:

  • 你用过"/[^a-z0-9 .\-\"_',\r\n]/i"吗?或者"/[^a-z0-9.\"_',\s-]/i"

标签: php regex


【解决方案1】:

您可以使用字符类来匹配任何不可打印的字符:

$clean = preg_replace("/[^a-z0-9 .-"_',p{C}]/i", "", $string);

【讨论】:

    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2014-11-08
    • 2011-11-08
    • 1970-01-01
    • 2017-04-05
    • 2015-11-24
    相关资源
    最近更新 更多