Maison >développement back-end >tutoriel php >Comment filtrer les caractères qui ne sont pas UTF8 en PHP (code)

Comment filtrer les caractères qui ne sont pas UTF8 en PHP (code)

不言
不言original
2018-08-14 17:20:212768parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn