私が書いたPHPは文字列長に応じて配列コードに分割されており、中国語の文字をサポートしています。必要な友達は以下を参照してください。それに。
以下は、中国語と英語の混合文字をセグメント化するために私が書いたコードです:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
関数 mbStrSplit ($string, $len=1) { $start = 0; $strlen = mb_strlen($string); ながら ($strlen) { $array[] = mb_substr($string,$start,$len,"utf8"); $string = mb_substr($string, $len, $strlen,"utf8"); $strlen = mb_strlen($string); } $array を返す; }
header('Content-type:text/html;charset=utf-8'); $str = '北京が大好き 3 上海が大好き - 祥港が大好き'; $r = mbStrSplit($str, 4); エコー ' ';</p> <p>print_r($r);</p> <p>エコー ''; ?> |
実行結果:
?
1 2 3 4 5 6 7 8 9 |
配列 ( [0] => 北京が大好きです [1] => 3私は恋をしています [2] => 海大好き [3] => 西安 [4] => ガガン [5] => g ) |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
関数 str_split_unicode($str, $l = 0) { if ($l > 0) { $ret = array(); $len = mb_strlen($str,"UTF-8"); for ($i = 0; $i $ret[] = mb_substr($str, $i, $l,"UTF-8"); } $ret を返す; } return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY); } ?> $s = "sss と gfg を見るという夢をまだ達成していない人は不滅ではありません" // マイルドミルク print_r(str_split($s, 5)); print_r(str_split_unicode($s, 5));
//出力 //配列 ([0] => また [1] => � [2] => ��sss [3] => gf を参照 [4] => 5] => � �rtr [6] => etbu[7] => 崩壊) //配列 ([0] => まだ満たされていません s [1] => ss は gf と一致します [2] => g は rt ではありません [3] => ret immortal ) |
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。