Menggantikan Watak Istimewa dengan Setara Asasnya dalam PHP
Soalan: Adakah mungkin untuk menggantikan aksara khas dengan wataknya? asas setara dalam PHP, seperti menukar "ã" kepada "a" dan "é" kepada "e"?
Jawapan: Ya, adalah mungkin untuk menggantikan aksara beraksen dengan asasnya setara menggunakan PHP.
Kaedah:
Jika anda mempunyai akses kepada kelas Normalizer, anda boleh menggunakan kaedah Normalizer::normalize() dengan Normalizer::FORM_D pemalar:
<code class="php">$string = "ãé"; $baseString = Normalizer::normalize($string, Normalizer::FORM_D);</code>
Jika anda tidak mempunyai akses kepada kelas Normalizer, anda boleh menggunakan fungsi berikut:
<code class="php">function Unaccent($string) { return preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '', htmlentities($string, ENT_QUOTES, 'UTF-8')); }</code>
Fungsi ini menukar entiti HTML kepada aksara yang sepadan dan kemudian mengalih keluar tanda aksen biasa menggunakan ungkapan biasa.
Contoh:
<code class="php">$string = "ãé"; $baseString = Unaccent($string);</code>
Pembolehubah $baseString yang terhasil akan mengandungi "ae".
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Watak Khas dengan Setara Asasnya dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!