Heim  >  Artikel  >  Backend-Entwicklung  >  Tipps zum Abfangen chinesischer String-Funktionen in PHP

Tipps zum Abfangen chinesischer String-Funktionen in PHP

墨辰丷
墨辰丷Original
2018-06-13 10:09:042566Durchsuche

Dieser Artikel stellt hauptsächlich die Funktion des Abfangens chinesischer Zeichenfolgen in PHP vor. Er analysiert anhand von Beispielen das Konvertierungsproblem zwischen utf-8 und gb2312 kann darauf verweisen.

Das Beispiel in diesem Artikel beschreibt die Funktion des Abfangens chinesischer Zeichenfolgen in PHP. Die spezifische Implementierungsmethode lautet wie folgt:

Der Code lautet wie folgt:

<?php
//中文字符串截取
function substr_zh($string,$sublen,$start=0,$code=&#39;UTF-8&#39;){
 if($code==&#39;UTF-8&#39;){
  $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
  preg_match_all($pa,$string,$t_string);
  if(count($t_string[0])-$start > $sublen){
   return join(&#39;&#39;,array_slice($t_string[0],$start,$sublen))."...";
   //array_slice()在数组中根据条件取出一段值,参数(数组,开始位置,[长度])
  }else{
   return join(&#39;&#39;,array_slice($t_string[0],$start,$sublen));
  }
 }else{
  $start = $start*2;
  $sublen = $sublen*2;
  $strlen = strlen($string);
  $tmpstr = &#39;&#39;;
  for($i=0;$i<$strlen;$i++){
   if($i>$start && $i<($start+$sublen)){
    if(ord(substr($string,$i,1))>129){
    //ord():返回字符串第一个字符的ASCII值
    //substr():返回字符串的一部分
     $tmpstr .= substr($string,$i,2);
    }else{
     $tmpstr .= substr($string,$i,1);
    }
   }
   if(ord(substr($string,$i,1))>129){
    $i++;
   }
   if(strlen($tmpstr)<$strlen){
    $tmpstr .= "...";
   }
  }
  return $tmpstr;
 }
}
$string ="顶置车顶起困境檲上盯协押畏奇才趄肯困楞右脚可爱有";
echo substr_zh($string,10,0,&#39;gb2312&#39;);
?>

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass dies so sein wird hilfreich für das Lernen aller.

Verwandte Empfehlungen:

So erstellen Sie ein Textnachrichten-Board in PHP

PHP So schreiben Sie eine Eingabeaufforderungsbox ähnlich einer Warnung( ) in js

So führen Sie zwei Arrays in PHP mit der Funktion array_merge() zusammen

Das obige ist der detaillierte Inhalt vonTipps zum Abfangen chinesischer String-Funktionen in PHP. 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