Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggantikan Umlaut dengan Setara ASCII dengan Cekap dalam PHP?
Menggantikan Umlaut dengan Setara ASCII dalam PHP
Anda berusaha untuk mengubah rentetan UTF-8 yang mengandungi umlaut menjadi setara ASCII 7-bit yang paling hampir, menukar aksara seperti "lärm" kepada "larm" dan "andré" kepada "andre." Pada mulanya, anda cuba menggunakan utf8_decode diikuti dengan strtr untuk membuat penukaran ini. Walau bagaimanapun, disebabkan fail sumber yang dikodkan UTF-8 anda, anda menghadapi kesukaran memasukkan aksara ISO-8859-15 untuk umlaut.
Walaupun memasukkan fail ISO-8859-15 sebagai penyelesaian mungkin dipertimbangkan, wujudnya pendekatan yang lebih cekap. Fungsi iconv menyediakan cara yang mantap untuk menukar rentetan antara pengekodan aksara yang berbeza.
Untuk mencapai matlamat anda, anda boleh menggunakan kod berikut:
$input = "lärm andré"; echo iconv("utf-8","ascii//TRANSLIT",$input);
Pendekatan yang dikemas kini ini menggunakan ascii// Pilihan TRANSLIT, yang menterjemah aksara bukan ASCII kepada persamaan ASCII yang paling hampir. Ia menghapuskan keperluan untuk pemetaan aksara manual dan menyediakan cara yang boleh dipercayai untuk mengendalikan umlaut dalam rentetan UTF-8.
Contoh Lanjutan:
Contoh lanjutan berikut menunjukkan ikonv kepelbagaian fungsi dalam menukar kepada dan daripada pelbagai pengekodan aksara:
$input = "こんにちは世界"; echo iconv("UTF-8", "UTF-16BE", $input); // Convert to UTF-16BE echo iconv("UTF-16BE", "ASCII//TRANSLIT", $input); // Translate to ASCII equivalents
Dalam contoh ini, input rentetan ditukar daripada UTF-8 kepada UTF-16BE, dan kemudian kepada setara ASCII. Ini menunjukkan fleksibiliti iconv dalam mengendalikan pengekodan aksara dan operasi penukaran yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Umlaut dengan Setara ASCII dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!