0

我需要清理一些用户输入,并且我需要删除所有可能导致空字节或无用字符(如 \n 或 \t)的字符,因为输入是字符串或 html 代码。此时我正在使用它来删除选项卡、换行符等:

preg_replace('/\s+/','',$_POST['id'])

但还不够,我发现了这个:

preg_replace( '/[^[:print:]]/',' ',$_POST['val'])

但我不明白它是否还会删除不应删除的字符,例如德语或阿拉伯语字符或标点符号或符号

4

1 回答 1

0

根据PHP 正则表达式,字符类 [:print:]包括“打印字符,包括空格”。

这意味着“可见字符和空格(即除控制字符等之外的任何内容) ”(请参阅​​ http://www.regular-expressions.info/posixbrackets.html

  • ASCII 字符:[\x20-\x7E]
  • 统一码:\P{C}
于 2014-04-15T10:57:40.830 回答