ホームページ >バックエンド開発 >PHPチュートリアル >文字化けのない PHP 中国語文字列インターセプト手順と PHP 中国語文字インターセプト function_preg_split()
文字化けしないPHP中国語文字列インターセプト方法とPHP中国語文字インターセプト関数_preg_split()
昨日、コードを書いていたら中国語文字列インターセプトに遭遇しました。 の場合、本来は substr() を直接使いたかったのですが、これはシングルバイト文字の下で使用されるため、マルチバイトでエンコードされた中国語文字やその他の言語の文字の場合、この関数は役に立たない可能性があります。 , 文字化けのインターセプトも簡単になります!
質問時間: 2013-10-31
解決策のアイデア: エンコード時の完全性ルールに従って中国語の文字を配列に分割し、必要に応じてインターセプトされた長さを取得します。
mbstring 拡張機能を有効にして、関数をカスタマイズします:
<?php header('content-Type:text/html:charset=utf-8'); function substr_chinese($str, $start, $length = null) { return join("", array_slice( preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY), $start, $length) ); } (PS:^_^不错的php学习交流群:276167802,验证:csl,谢谢!) //实例 $str = "中国地图全图"; echo substr_utf8($str, 0, 4); //输出: 中国地图 ?>
ヒント
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?> 输出:Array ( [0] => Cat [1] => Horse )この記事では、文字化けせずに中国語の文字列をインターセプトする