Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggantikan Aksara Beraksen dengan betul dalam PHP Tanpa Isu Sensitiviti Kes?

Bagaimanakah Saya Boleh Menggantikan Aksara Beraksen dengan betul dalam PHP Tanpa Isu Sensitiviti Kes?

Patricia Arquette
Lepaskan: 2024-12-14 02:55:18
asal
356 orang telah melayarinya

How Can I Correctly Replace Accented Characters in PHP Without Case Sensitivity Issues?

Menggantikan Aksara Beraksen dalam PHP

Menggantikan aksara beraksen dengan persamaan standardnya ialah tugas biasa dalam pengaturcaraan. Walaupun kod yang disediakan cuba mencapai ini, ia gagal menghasilkan output yang diingini.

Masalahnya terletak pada sensitiviti kes proses penggantian. Dalam kod anda, rentetan input mula-mula ditukar kepada huruf kecil, menghasilkan "éric cantona." Akibatnya, aksara beraksen seperti "É" digantikan dengan huruf kecil yang setara, "é." Ini membawa kepada keluaran "ric cantona" yang salah.

Untuk membetulkannya, kita boleh menggantikan aksara dalam cara yang tidak peka huruf besar-besaran, memastikan kedua-dua aksara beraksen dan bukan beraksen diubah dengan betul. Berikut ialah pendekatan alternatif yang menggunakan fungsi strtr():

$string = "Éric Cantona";
$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' );
$str = strtr( $string, $unwanted_array );
Salin selepas log masuk

Fungsi strtr() mengambil rentetan input dan tatasusunan aksara untuk diganti. Dalam kes kami, $unwanted_array mengandungi aksara beraksen sebagai kunci dan setara standardnya sebagai nilai. Fungsi ini melakukan carian tidak sensitif huruf besar dan menggantikan semua kemunculan aksara beraksen dengan rakan sejawatannya.

Hasilnya, kod tersebut menghasilkan output yang diingini: "eric cantona."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Aksara Beraksen dengan betul dalam PHP Tanpa Isu Sensitiviti Kes?. 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