PHP で正規表現を使用して中国語の文字と一致させる方法
PHP では、正規表現は一般的に使用される文字列一致ツールであり、文字列が特定の形式に準拠しているかどうかを判断し、入力値の妥当性を検証するために使用できます。中国語の文字を処理する場合、中国語の文字と英語の文字はエンコード方法が異なるため、正規表現の一致ルールをそれに応じて調整する必要があります。この記事では、PHP で正規表現を使用して中国語の文字を照合する方法を紹介します。
1. 中国語の文字エンコーディングを理解する
PHP で一般的に使用される文字エンコーディングは、UTF-8 と GBK です。 UTF-8 は「可変長エンコーディング」です。つまり、異なる文字は異なる長さを持ち、異なる文字を表すために 1 ~ 4 バイトが使用されます。 GBK は、各文字が 2 バイトで表される「固定長エンコーディング」です。
UTF-8 エンコード規則は比較的複雑であるため、中国語の文字を照合する場合、GBK エンコードを使用して照合できます。 PHP では、mb_convert_encoding() 関数を使用して、文字列を UTF-8 から GBK エンコーディングに変換できます (例:
$str = "中文"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8");
2)。漢字
- 単一の漢字と一致するには、正規表現 [x{4e00}-x{9fa5}] を使用できます。 x が 16 進文字を表す場合、{4e00} と {9fa5} は中国語の文字セットの最初と最後の文字、つまりそれぞれ「一」と「饥」を表します。
$str = "中文"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8"); preg_match("/[x{4e00}-x{9fa5}]/u", $str_gbk, $match); echo $match[0];
中
複数の中国語文字に一致
- 複数の中国語文字に一致するには、正規表現に量指定子を追加できます。たとえば、* は任意の数の中国語の文字に一致することを意味し、少なくとも 1 つの中国語の文字に一致することを意味し、{n,m} は n ~ m 個の中国語の文字に一致することを意味します。
$str = "中文编程真有意思"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8"); preg_match("/[x{4e00}-x{9fa5}]{2,}/u", $str_gbk, $match); echo $match[0];
中文编程真有意思
中国語の文字とその他の文字を一致させる
- 文字列 中国語の文字と他の文字を同時に照合するには、[x{4e00}-x{9fa5}] および [w] (任意の文字または数字と照合) を使用して文字列を照合します。例:
$str = "中文AI编程真有意思123"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8"); preg_match("/[x{4e00}-x{9fa5}w]+/u", $str_gbk, $match); echo $match[0];
中文AI编程真有意思123
preg_match()
- preg_match() この関数は、文字列に対して正規表現の一致を実行するために使用され、一致結果または FALSE を返します。
$str = "中文编程真有意思"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8"); preg_match("/[x{4e00}-x{9fa5}]+/u", $str_gbk, $match); echo $match[0];
中文编程真有意思
preg_match_all()
- preg_match_all() 関数は、文字列内の一致するすべての正規表現を検索するために使用されます。 results は、一致するすべての結果で構成される配列を返します。
$str = "PHP是一门非常有用的编程语言,可以用来开发各种Web应用"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8"); preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str_gbk, $match); print_r($match[0]);
Array ( [0] => PHP是一门非常有用的编程语言 [1] => 可以用来开发各种Web应用 )
preg_replace()
- preg_replace() 関数は、正規表現を使用して文字列を検索および置換するために使用されます。
$str = "我爱编程,编程使我快乐!"; $str_gbk = mb_convert_encoding($str, "GBK", "UTF-8"); $new_str_gbk = preg_replace("/[x{4e00}-x{9fa5}]+/", "", $str_gbk); $new_str = mb_convert_encoding($new_str_gbk, "UTF-8", "GBK"); echo $new_str;
,使我快乐!
以上がPHP で正規表現を使用して中国語の文字と一致させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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 のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

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

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
