Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memastikan Corak PCRE/PHP Saya Padan dengan betul dengan Aksara Unikod?

Bagaimanakah Saya Boleh Memastikan Corak PCRE/PHP Saya Padan dengan betul dengan Aksara Unikod?

Barbara Streisand
Barbara Streisandasal
2024-12-16 22:26:14384semak imbas

How Can I Ensure My PCRE/PHP Patterns Correctly Match Unicode Characters?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn