Der Inhalt dieses Artikels handelt davon, wie PHP Zeichen herausfiltert, die nicht UTF8 sind (Code). Ich hoffe, dass er für Sie hilfreich ist.
function utf8_filter($data) { $str = ""; for($n = 0; $n < strlen($data);) { $s = substr($data, $n, 1); $v = ord($s); if($v >= 127) { ++$n; $cnt = 0; $tmp = $v; while($tmp & 0x80) { $tmp = $tmp << 1; ++$cnt; } $x = 0; while($x < $cnt && $n < strlen($data)) { $s = substr($data, $n, 1); if((ord($s) & 0xC0) == 0x80) { ++$n; ++$x; }else{ break; } } if($x + 1 == $cnt) { $str = $str . substr($data, $n - $cnt, $cnt); }else{ while($n < strlen($data)) { $s = substr($data, $n, 1); if(ord($s) & 0x80) { ++$n; }else{ break; } } } }else{ $str = $str. $s; ++$n; } } return $str; }
Verwandte Empfehlungen:
Zeichen mit mehr als drei Bytes in utf8-Zeichen oder Nicht-utf8-Zeichen filtern
Das obige ist der detaillierte Inhalt vonSo filtern Sie Zeichen heraus, die nicht UTF8 sind, in PHP (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!