Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggantikan Aksara Beraksen dalam PHP dengan Cekap?

Bagaimanakah Saya Boleh Menggantikan Aksara Beraksen dalam PHP dengan Cekap?

Susan Sarandon
Lepaskan: 2024-12-16 17:07:22
asal
586 orang telah melayarinya

How Can I Efficiently Replace Accented Characters in PHP?

Menggantikan Aksara Beraksen dalam PHP

Kod yang diberikan direka bentuk untuk menggantikan aksara beraksen dengan rakan biasa mereka. Walau bagaimanapun, ia gagal untuk menukar aksara seperti É kepada E kerana fungsi strtolower() tidak menukar aksara Unicode. Untuk menyelesaikan isu ini, kami boleh menggunakan pendekatan yang berbeza.

Dalam kod yang disediakan, penggunaan ungkapan biasa dengan preg_replace() adalah terlalu rumit untuk tugasan ini. Sebaliknya, kita boleh menggunakan kaedah yang lebih mudah dan cekap menggunakan fungsi strtr().

Fungsi strtr() mengambil dua hujah: rentetan yang akan diubah suai dan tatasusunan yang mengandungi pemetaan aksara. Kita boleh mencipta tatasusunan di mana kuncinya ialah aksara beraksen dan nilainya adalah penggantinya.

Contohnya:

$unwanted_array = array(
    'Š' => 'S', 'š' => 's', 'Ž' => 'Z', 'ž' => 'z', 'À' => 'A', 'Á' => 'A', 'Â' => 'A',
    'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E',
    'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O',
    'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U',
    'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a',
    'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e',
    'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
    'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o',
    'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y'
);
Salin selepas log masuk

Setelah kita mempunyai tatasusunan ini, kita boleh menggunakan strtr() untuk gantikan aksara beraksen dalam rentetan yang diberikan:

$originalString = "Éric Cantona";
$modifiedString = strtr($originalString, $unwanted_array);
echo "Original: $originalString\n";
echo "Modified: $modifiedString\n";
Salin selepas log masuk

Pendekatan ini akan menggantikan aksara beraksen dengan normalnya dengan betul rakan sejawat, menghasilkan output yang diingini:

Original: Éric Cantona
Modified: Eric Cantona
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Aksara Beraksen dalam PHP dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan