ホームページ php教程 php手册 PHP正規判定中国語UTF-8&GBK

PHP正規判定中国語UTF-8&GBK

Jun 21, 2016 am 08:57 AM

UTF-8 マッチング: JavaScript では、文字列が中国語かどうかを判断するのは非常に簡単です。例: var str = "php programming";if (/^[u4e00-u9fa5]+$/.test(str)) {alert("この文字列はすべて中国語です");} else{alert("この文字列すべてが中国語であるわけではありません");} php では、...

を使用します。

UTF-8 一致:

javascript では、文字列が中国語かどうかを簡単に判断できます。例:
var str = "phpプログラミング";
if (/^[u4e00-u9fa5]+$/.test(str)) {
alert("文字列はすべて中国語です");
}
それ以外{
alert("この文字列はすべて中国語ではありません");
}

PHP では、x は 16 進数のデータを表すために使用されます。したがって、次のコードに変換します:
$str = "php プログラミング";
if (preg_match("/^[x4e00-x9fa5]+$/"$str)) {
print("この文字列はすべて中国語です");
} else {
print("この文字列はすべて中国語ではありません");
}
エラーは報告されず、判定結果は正確であるようですが、$str を「プログラミング」という単語に置き換えると、結果は依然として「文字列がすべて中国語ではありません」と表示されます。この判定は正確ではないようです。十分。


インターネット上で全角文字に一致する通常のルールは ^[x80-xff]*^/
だけです。 [u4e00-u9fa5] 中国語と一致しますが、PHP はサポートしていません
また、エンコードに関連する場合もあるため、パターン修飾子の関連知識を理解する必要があります。
「パターン修飾子」に関する記事から学びました:
u (PCRE_UTF8)
この修飾子は、Perl と互換性のない PCRE の追加機能を有効にします。パターン文字列は UTF-8 として扱われます。この修飾子は、Unix では PHP 4.1.0 以降、win32 では PHP 4.2.3 以降で使用できます。
例:
preg_match('/[x{2460}-x{2468}]/u' $str); 内部コードの中国語文字と一致します

彼が提供した方法に従ってテストすると、コードは次のようになります:
$str = "php プログラミング";
if (preg_match("/^[x{2460}-x{2468}]+$/u"$str)) {
print("この文字列はすべて中国語です");
} else {
print("この文字列はすべて中国語ではありません");
}
今回も中国語かどうかの判断に誤りがあることがわかりました。
しかし、xで表現される16進数のデータなので、jsで用意されているx4e00~x9fa5の範囲と違うのはなぜでしょうか?そこで、以下のコードに変更したところ、それが非常に正確であることがわかりました。
$str = "php プログラミング";
if (preg_match("/^[x{4e00}-x{9fa5}]+$/u"$str)) {
print("この文字列はすべて中国語です");
} else {
print("この文字列はすべて中国語ではありません");
}

PHP の UTF-8 エンコーディングで正規表現を使用して中国語の文字を照合する最終的な正確な表現を知っています - /^[x{4e00}-x{9fa5}]+$/u,
上記の記事を参考に以下のテストコードを書きました(以下のコードをコピーして.phpファイルとして保存します)



入力文字(数字、文字、漢字、下線):


GBK:

preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/"$str); //GB2312 漢字英数字下線通常式



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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