Heim  >  Artikel  >  Backend-Entwicklung  >  So filtern Sie Zeichen heraus, die nicht UTF8 sind, in PHP (Code)

So filtern Sie Zeichen heraus, die nicht UTF8 sind, in PHP (Code)

不言
不言Original
2018-08-14 17:20:212678Durchsuche

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

PHP implementiert das Herausfiltern nicht-chinesischer Zeichen und das Beibehalten nur chinesischer Zeichen,

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn