Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menggantikan Umlaut dengan Setara ASCII dalam Rentetan UTF-8?

Bagaimana untuk Menggantikan Umlaut dengan Setara ASCII dalam Rentetan UTF-8?

DDD
DDDasal
2024-11-29 19:46:14382semak imbas

How to Replace Umlauts with ASCII Equivalents in UTF-8 Strings?

Menukar Umlaut kepada Setara ASCII dalam Rentetan UTF-8

Masalah:

Ganti khas aksara, seperti umlaut, dalam rentetan UTF-8 dengan 7-bit terdekatnya bersamaan ASCII. Contohnya, "lärm" hendaklah menjadi "larm" dan "andré" hendaklah menjadi "andre."

Penyelesaian:

Menggunakan utf8_decode() dan strtr(), seperti yang ditunjukkan dalam coretan kod yang diberikan, ialah penyelesaian biasa. Walau bagaimanapun, jika fail sumber anda disimpan dalam UTF-8 dan anda tidak boleh memasukkan aksara ISO-8859-15, pendekatan yang lebih elegan tersedia.

Fungsi iconv() boleh digunakan untuk melakukan penukaran set aksara. Dengan menyatakan "ascii//TRANSLIT" sebagai set aksara sasaran, umlaut akan ditukar secara automatik kepada persamaan ASCIInya:

echo iconv("utf-8","ascii//TRANSLIT",$input);

Contoh Lanjutan:

Untuk menggambarkan penggunaan iconv(), pertimbangkan kod berikut:

$input = "lärm andré";
$output = iconv("utf-8","ascii//TRANSLIT",$input);

echo $output; // Output: larm andre

Kod ini menukar semua umlaut dalam rentetan input kepada setara ASCII mereka.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Umlaut dengan Setara ASCII dalam Rentetan UTF-8?. 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