Padanan Aksara Unikod dalam PCRE/PHP
Apabila cuba mengesahkan nama menggunakan PCRE dalam PHP, anda mungkin menghadapi masalah dengan aksara bukan ASCII seperti Ă atau 张. Ini kerana corak yang digunakan tidak mempertimbangkan keserasian Unikod secara eksplisit.
Isu Corak
Corak asal anda, $namePattern, berhasrat untuk memadankan huruf Unicode, tetapi bergantung sepenuhnya pada sifat p{L}. Walaupun sifat ini biasanya berfungsi untuk aksara ASCII, ia mungkin tidak mengendalikan aksara Unikod lanjutan dengan betul.
Penyelesaian: Pengubahsuai Unikod
Untuk memastikan padanan aksara Unikod yang betul, ia adalah penting untuk menggunakan pengubah suai u dengan PCRE. Pengubah suai ini menukar PHP kepada mod Unikod, membolehkan penggunaan sifat dan corak aksara Unikod.
Dengan penambahan pengubah ini, corak diubah suai anda menjadi:
$namePattern = '/^[-\' \p{L}]+$/u';
Corak ini kini akan sepadan dengan betul kedua-duanya ASCII dan huruf Unicode lanjutan, serta apostrof, sempang dan ruang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Corak PCRE/PHP Saya Padan dengan betul dengan Aksara Unikod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!