Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Aksara Beraksen kepada Setara Asas dalam PHP?

Bagaimana untuk Menukar Aksara Beraksen kepada Setara Asas dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 15:44:26931semak imbas

How to Convert Accented Characters to Base Equivalents in PHP?

Ganti Aksara Khas dengan Aksara Asas dalam PHP

Tugasnya adalah untuk menukar aksara beraksen kepada setara asasnya dalam PHP. Contohnya, "ã" hendaklah menjadi "a" dan "é" hendaklah menjadi "e".

Penyelesaian:

Walaupun mungkin untuk melaksanakan operasi matematik pada ASCII nilai, terdapat kaedah yang lebih mudah.

Menggunakan Kelas Normalizer:

PHP menyediakan kelas Normalizer yang boleh memudahkan proses penukaran aksara. Kod berikut menunjukkan penggunaannya:

<code class="php">use Normalizer;

$string = "ãé";
$base_string = Normalizer::normalize($string, Normalizer::FORM_D);</code>

Fungsi Tersuai:

Jika kelas Normalizer tidak tersedia, anda boleh mencipta fungsi tersuai untuk melaksanakan penggantian:

<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 menggunakan ungkapan biasa untuk memadankan dan menggantikan aksara beraksen dengan persamaan asasnya.

Penggunaan:

<code class="php">$string = "ãé";
$base_string = Unaccent($string);</code>

Atas ialah kandungan terperinci Bagaimana untuk Menukar Aksara Beraksen kepada Setara Asas 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