[PHP] 中国語の文字列の長さを取得する簡単で素晴らしい方法_PHP チュートリアル
今夜フレームワークのフォーム検証クラスを書いていたとき、特定の文字列の長さが指定された範囲内にあるかどうかを判断する必要があり、当然、PHP の strlen 関数を思い出しました。
$str = 'Hello world!';
echo strlen($str); // 出力 12
ただし、PHP に付属する関数のうち、strlen と mb_strlen は両方とも、文字列が占めるバイト数を計算することで長さを計算します。エンコード条件が異なると、中国語が占めるバイト数も異なります。 GBK/GB2312 では中国語の文字は 2 バイトを占めますが、UTF-8 では中国語の文字は 3 バイトを占めます。
$str = 'こんにちは、世界! ';
echo strlen($str); // GBK または GB2312 では出力 12、UTF-8 では出力 18
文字列の長さを判断するときは、UTF-8 での次の PHP コードのように、文字列が占めるバイト数ではなく、文字数を判断する必要があることがよくあります。
$name = '張庚昌';
$len = strlen($name);
// UTF-8 では 3 つの漢字が 9 バイトを占めるため、FALSE を出力します
if($len >= 3 && $len
エコー「TRUE」;
}その他{
エコー「FALSE」;
}
それでは、中国語の文字列の長さを取得する便利で実用的な方法はあるのでしょうか?通常のルールを使用して中国語の文字数を計算し、GBK/GB2312 エンコードで 2 で割って、UTF-8 エンコードで 3 で割って、最後に中国語以外の文字列の長さを加算することもできますが、これは面倒すぎます。WordPressには、より美しいコード部分があります。次のように参照してください:
$str = 'こんにちは、世界! ';
preg_match_all('/./us', $str, $match);
echo count($match[0]); // 出力 9
このアイデアは、正規表現を使用して文字列を単一の文字に分割し、count を直接使用して一致する文字の数を計算することであり、これが目的の結果です。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
