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