phpは簡単に中国語と英語の混成文字列の切り取りを完成して、2行のコードだけが必要です!
4052 ワード
中国語と英語の混在カウント、切り取りといえば、まずascii、16進数、正則マッチング、サイクルカウントを思い浮かべます.
今日はphpのmb拡張を共有して、文字列を簡単に処理する方法を教えてあげます.
まず、使用する関数について説明します.
mb_strwidth($str,$encoding)は文字列の幅を返します.
$str計算する文字列
$encoding utf 8、gbkなどの使用する符号化
mb_strimwidth($str,$start,$width,$tail,$encoding)幅で文字列を切り取る
$str切り取る文字列
$startはどの位置から切り取りますか?デフォルトは0です.
$width切り取る幅
$tailは切り取り文字列の後ろの文字列に追加され、よく使われるのは...
$encodingで使用するエンコーディング
次の例を示します.
次に、他の関数を紹介しましょう.
mb_strlen($str,$encoding)は文字列の長さを返します.
$str計算する文字列
$encodingで使用される符号化
mb_substr($str,$start,$length,$encoding)切り取り文字列
$str切り取る文字列
$startはどこから切り取りますか?
$length切り取り長さ
$encodingで使用される符号化
実はこの2つの関数はstrlen()やsubstr()に似ていて、唯一の違いは符号化を設定できることです.
下のインスタンス:
実はmb拡張には使いやすい関数がたくさんありますが、ここでは一つ一つ挙げません.
興味のある方は公式マニュアルをご覧いただけます
http://www.php.net/manual/zh/ref.mbstring.php
さあ、今日はここまで紹介します.
今日はphpのmb拡張を共有して、文字列を簡単に処理する方法を教えてあげます.
まず、使用する関数について説明します.
mb_strwidth($str,$encoding)は文字列の幅を返します.
$str計算する文字列
$encoding utf 8、gbkなどの使用する符号化
mb_strimwidth($str,$start,$width,$tail,$encoding)幅で文字列を切り取る
$str切り取る文字列
$startはどの位置から切り取りますか?デフォルトは0です.
$width切り取る幅
$tailは切り取り文字列の後ろの文字列に追加され、よく使われるのは...
$encodingで使用するエンコーディング
次の例を示します.
<?php
/**
* utf8
* 1 3
* 1 2 ,
* 2 1
*/
//
$str = 'aaaa aaaa aaa';
echo strlen($str); // strlen 25
// , php mb_internal_encoding()
// mb_strwidth 20 utf8
echo mb_strwidth($str, 'utf8');
// 10
if(mb_strwidth($str, 'utf8')>10){
// 0 , 10 ..., utf8
// ...
$str = mb_strimwidth($str, 0, 10, '...', 'utf8');
}
// aaaa ... 4 a 4 1 2 3 3 4+2+3=9
// , 9 10 ?
// “ ” “ ”, 2 ,9+2=11 , 1 9
echo $str;
次に、他の関数を紹介しましょう.
mb_strlen($str,$encoding)は文字列の長さを返します.
$str計算する文字列
$encodingで使用される符号化
mb_substr($str,$start,$length,$encoding)切り取り文字列
$str切り取る文字列
$startはどこから切り取りますか?
$length切り取り長さ
$encodingで使用される符号化
実はこの2つの関数はstrlen()やsubstr()に似ていて、唯一の違いは符号化を設定できることです.
下のインスタンス:
<?php
/**
* utf8
* 1 3
*/
$str = 'aa12 aa';
echo strlen($str); // 9
// 7, 7 ?
// , 1
// a a 1 2 a a
// 1+1+1+1+1+1+1 = 7
// 7
echo mb_strlen($str, 'utf8');
// mb_substr
// 5
echo mb_substr($str, 0, 5, 'utf8'); // aa12
実はmb拡張には使いやすい関数がたくさんありますが、ここでは一つ一つ挙げません.
興味のある方は公式マニュアルをご覧いただけます
http://www.php.net/manual/zh/ref.mbstring.php
さあ、今日はここまで紹介します.