(我永远不会理解为什么这样的东西不是内置在PHP中的简单,漂亮的功能,而是一些必须单独研究,通常是错误地并由每个单独的程序员拼凑起来的东西,但是在这里去...)
我执行以下操作以“清理”来自用户/外部来源的字符串(Unicode):
$string = preg_replace('#[[:cntrl:]]#', '', $string); // Removes all "control characters".
$string = preg_replace('#\p{C}+#u', '', $string); // Removes all "invisible" characters. (As if the control ones above aren't invisible?)
够了吗?这样是否可以处理所有可滥用/奇怪/特殊的Unicode字符?对于希望成为恶意软件的人来说,整个Unicode似乎是一个梦想。 巨大字符集中有太多奇怪的东西,似乎任何人都无法理解。
我想念什么吗?也许有 这样的内置函数可以执行我所做的事情,但是效果更好,更完善?如果没有,那是为什么呢?有时候感觉好像我是唯一一个关心安全/控制的人。