首頁 >後端開發 >php教程 >如何使用'\p{L}”正確匹配 PHP PCRE 中的 Unicode 字母?

如何使用'\p{L}”正確匹配 PHP PCRE 中的 Unicode 字母?

Linda Hamilton
Linda Hamilton原創
2024-12-26 12:18:17212瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn