我需要清理一些用户输入,并且我需要删除所有可能导致空字节或无用字符(如 \n 或 \t)的字符,因为输入是字符串或 html 代码。此时我正在使用它来删除选项卡、换行符等:
preg_replace('/\s+/','',$_POST['id'])
但还不够,我发现了这个:
preg_replace( '/[^[:print:]]/',' ',$_POST['val'])
但我不明白它是否还会删除不应删除的字符,例如德语或阿拉伯语字符或标点符号或符号
我需要清理一些用户输入,并且我需要删除所有可能导致空字节或无用字符(如 \n 或 \t)的字符,因为输入是字符串或 html 代码。此时我正在使用它来删除选项卡、换行符等:
preg_replace('/\s+/','',$_POST['id'])
但还不够,我发现了这个:
preg_replace( '/[^[:print:]]/',' ',$_POST['val'])
但我不明白它是否还会删除不应删除的字符,例如德语或阿拉伯语字符或标点符号或符号
根据PHP 正则表达式,字符类 [:print:]
包括“打印字符,包括空格”。
这意味着“可见字符和空格(即除控制字符等之外的任何内容) ”(请参阅 http://www.regular-expressions.info/posixbrackets.html)
[\x20-\x7E]
\P{C}