Le contenu de cet article explique comment PHP filtre les caractères qui ne sont pas UTF8 (code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
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; }
Recommandations associées :
Filtrer les caractères utf8 de plus de trois octets, ou les caractères non utf8
PHP implémente le filtrage des caractères non chinois et ne conserve que les caractères chinois,
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!