Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggantikan Watak Khas dengan Setara Asasnya dalam PHP?

Bagaimana untuk Menggantikan Watak Khas dengan Setara Asasnya dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 17:54:03928semak imbas

How to Replace Special Characters with Their Base Equivalents in PHP?

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('~&amp;([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!

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