Padanan Aksara Unikod dalam PCRE/PHP: Pemahaman Disemak
Dalam percubaan untuk membangunkan pengesah nama yang fleksibel, corak PHP telah dibangunkan untuk memadankan aksara huruf Unicode, apostrof, sempang dan spaces:
$namePattern = "/^([\p{L}'\- ])+$/";
Walau bagaimanapun, corak ini telah menghadapi masalah apabila menemui aksara bukan ASCII seperti Ă atau 张. Untuk membetulkan perkara ini, pandangan berikut mesti dipertimbangkan:
1. Pengubahsuai Unikod: Isu utama ialah ketiadaan pengubah u, yang penting untuk mengaktifkan sokongan Unikod dalam PCRE/PHP. Tanpa pengubah suai ini, sifat aksara Unicode menjadi tidak tersedia.
2. Corak Dibetulkan: Corak yang diperbetulkan, termasuk pengubah u, adalah seperti berikut:
$namePattern = '/^[-\' \p{L}]+$/u';
Dengan menggabungkan pengubahsuaian ini, corak kini boleh memadankan aksara huruf Unicode dengan berkesan, memastikan keserasian dengan julat yang lebih luas input.
Atas ialah kandungan terperinci Mengapa PHP Regex Saya Tidak Padan dengan Huruf Unicode?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!