我需要清理一些用户输入,我需要删除所有字符可能会导致诸如Null Byte或无用字符(例如\ n或\ t)之类的问题,因为输入是字符串或html代码。 此时我正在使用它来删除标签,断行等:
preg_replace('/\s+/','',$_POST['id'])
但是还不够,我发现了这个:
preg_replace( '/[^[:print:]]/',' ',$_POST['val'])
但我不明白它是否也删除了不应删除的字符,例如德语或阿拉伯语字符或标点或符号
答案 0 :(得分:0)
根据PHP regex character classes [:print:]
包含" 打印字符,包括空格"。
这意味着" 可见字符和空格(即控制字符以外的任何内容等)" (见http://www.regular-expressions.info/posixbrackets.html)
[\x20-\x7E]
\P{C}