gle*_*len 42
注意:你不应该只是剥离,而是用替换字符U + FFFD替换以避免unicode攻击,主要是XSS:
http://unicode.org/reports/tr36/#Deletion_of_Noncharacters
preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value);
Run Code Online (Sandbox Code Playgroud)
nwe*_*hof 13
由于4字节UTF-8序列始终以字节开头0xF0-0xF7
,因此以下内容应该有效:
$str = preg_replace('/[\xF0-\xF7].../s', '', $str);
Run Code Online (Sandbox Code Playgroud)
或者,您可以preg_replace
在UTF-8模式下使用,但这可能会更慢:
$str = preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $str);
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为4字节UTF-8序列用于补充Unicode平面中的代码点0x10000
.