ホームページ > バックエンド開発 > PHPチュートリアル > 文字列が純粋な英語であるか、純粋な中国語であるか、または中国語と英語の混合であるかを判断するための PHP の実装コード

文字列が純粋な英語であるか、純粋な中国語であるか、または中国語と英語の混合であるかを判断するための PHP の実装コード

WBOY
リリース: 2016-07-25 09:00:50
オリジナル
1247 人が閲覧しました
PHPコードを使用して文字列がどのように結合されるかを決定するにはどうすればよいですか?たとえば、それが純粋な英語なのか、純粋な数字なのか、それとも漢字と英語の混合なのかをどうやって判断するのでしょうか?この記事で提供されている分析と例を見てみましょう。

手順: PHPが文字列が中国語(または英語)かどうかを判定する方法には、正規表現判定や文字の値が128未満かどうかを判定する文字分割のほかに、特殊な方法もあります。

つまり、php で mb_strlen 関数と strlen 関数を使用して次のことを決定します。 上記の 2 つの関数を使用して、現在のエンコーディングでの文字の戻り値を測定し、戻り値を比較します。 等しい戻り値は、純粋な英語、純粋な数値、および英語と数値の混合です。 戻り値は等しくなく、strlen 戻り値は純粋な中国語文字である mb_strlen で割り切れる可能性があります。 戻り値が等しくなく、strlen の戻り値が mb_strlen で割り切れない場合は、英語と中国語、または中国語と中国語が混在しています。

素晴らしい機能、興味深いアイデア、素晴らしい例を以下に示します(笑)。

例、

リーリー

出力結果: こんにちは、5 5 123456 6 6 123こんにちは8 8 こんにちは 2 4 123こんにちは5 7 こんにちは、7 9 123こんにちはこんにちは10 12

PHP には、文字列が純粋な英語なのか、純粋な中国語なのか、それとも中国語と英語の混合なのかを判断する直接的な関数はありません。この関数は自分で書くしかありません。 この機能を実現するには、文字セットの中国語の文字エンコーディングの占有率を理解する必要があります。現在、中国でより一般的に使用されている文字セットは UTF8 と GBK です。

UTF8 各漢字は 3 つの長さに等しい。 GBK の各漢字は 2 つの長さに等しいです。

上記の中国語と英語の違いに基づいて、mb_strlen 関数と strlen 関数を使用して 2 セットの長さの数値をそれぞれ計算し、規則に従って演算を実行して文字列の型を決定できます。

1. UTF-8の例

リーリー

2.GBK方式の例

りー


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