ホームページ >バックエンド開発 >PHPチュートリアル >`\p{L}` を使用して PHP の PCRE で Unicode 文字を正しく照合するにはどうすればよいですか?

`\p{L}` を使用して PHP の PCRE で Unicode 文字を正しく照合するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 12:18:17215ブラウズ

How Can I Correctly Match Unicode Letters in PHP's PCRE Using `p{L}`?

PCRE/PHP での Unicode 文字文字のマッチング: Unicode 文字プロパティの探索

PHP での包括的な名前検証ツールの探求は、 Unicode 文字のプロパティの調査。ただし、パターン「/^([p{L}'- ]) $/」を使用した最近の試みは制限に直面しており、Ă や 张などの文字を認識できません。

Unicode 文字のプロパティについて

このパターンでは、あらゆる言語の文字を表す p{L} Unicode 文字プロパティを使用します。ただし、このプロパティが正しく機能するには、UTF-8 モードが必要です。パターンに「u」修飾子がないと、Unicode 文字のプロパティが利用されず、このような動作が発生します。

問題の解決

問題を修正するには、次の手順を実行します。 「u」修飾子をパターンに追加する必要があります。これにより UTF-8 モードが有効になり、Unicode 文字プロパティが正しく解釈されるようになります。改訂されたパターン「/^[-' p{L}] $/u」は、Unicode 文字、アポストロフィ、ハイフン、スペース文字と正確に一致するようになりました。

追加の考慮事項

入力データが実際に UTF-8 エンコーディングで提供されていることを確認してください。潜在的な互換性の問題を回避するには、フォーム ページで UTF-8 エンコードを明示的に指定します。さらに、パターンではスペース文字が引き続き許可されていることに注意してください。スペース文字はバリデーターで制限する必要がある場合があります。

以上が`p{L}` を使用して PHP の PCRE で Unicode 文字を正しく照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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