ホームページ > バックエンド開発 > PHPチュートリアル > PHP は中国語の文字列の長さをカウントし、文字列を数値に変換し、PHP は文字列を分割し、PHP 文字列の長さ、PH

PHP は中国語の文字列の長さをカウントし、文字列を数値に変換し、PHP は文字列を分割し、PHP 文字列の長さ、PH

WBOY
リリース: 2016-07-29 08:53:27
オリジナル
1510 人が閲覧しました

中国語のウェブサイトは通常、gbk/gb2312 または utf-8 の 2 つのエンコーディングを選択します。
gbk エンコーディングの各中国語文字は 2 バイトを占めます。例:

<code><span>$zhStr</span> = ‘您好,中国!’;
<span>echo</span> strlen(<span>$zhStr</span>); <span>// 输出:12</span></code>
ログイン後にコピー
<code>utf-8编码下每个中文字符所占字节为3,例:
</code>
ログイン後にコピー
<code><span>$zhStr</span> = ‘您好,中国!’;
<span>echo</span> strlen(<span>$zhStr</span>); <span>// 输出:18</span></code>
ログイン後にコピー

それでは、この一連の中国語文字列の長さを計算するにはどうすればよいでしょうか? gbk で中国語の文字列の長さを 2 で割ったり、utf-8 エンコーディングで 3 で割ったりするだけでは十分ではないと言う人もいるかもしれません。ただし、文字列は正直ではなく、99% の確率で中国語と英語が混在して表示されることを考慮する必要があります。
これは WordPress のコードです。主なアイデアは、まず正規表現を使用して文字列を個々の単位に分解し、次に文字列の長さである単位数を計算することです。コードは次のとおりです (文字列のみ)。 UTF-8 でエンコードされたものは処理できます) :

<code><span>$zhStr</span> = ‘您好,中国!’;
<span>$str</span> = ‘Hello,中国!’;
<span>// 计算中文字符串长度</span><span><span>function</span><span>utf8_strlen</span><span>(<span>$string</span> = null)</span> {</span><span>// 将字符串分解为单元</span>
preg_match_all(“/./us”, <span>$string</span>, <span>$match</span>);
<span>// 返回单元个数</span><span>return</span> count(<span>$match</span>[<span>0</span>]);
}
<span>echo</span> utf8_strlen(<span>$zhStr</span>); <span>// 输出:6</span><span>echo</span> utf8_strlen(<span>$str</span>); <span>// 输出:9</span></code>
ログイン後にコピー

以下に、中国語の文字列の長さを正確に計算する関数をカプセル化します。 $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i

').text(i)); }; $numbering.fadeIn(1700); }); }); 上記では、文字列と PHP コンテンツを含む中国語の文字列の長さをカウントする PHP を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート