Bagaimana untuk mengecualikan aksara Cina dalam php (tiga kaedah)

PHPz
Lepaskan: 2023-04-04 17:32:01
asal
1341 orang telah melayarinya

Aksara Cina adalah masalah biasa semasa pembangunan laman web. Dalam PHP, fungsi pemprosesan teks, seperti preg_replace, str_replace, dsb., boleh memproses aksara Cina secara normal. Walau bagaimanapun, dalam beberapa senario tertentu, kita perlu mengecualikan aksara Cina Contohnya, jika medan nama pengguna hanya dibenarkan mengandungi huruf dan nombor Inggeris, kita perlu mengecualikan aksara Cina.

Artikel ini akan memperkenalkan beberapa kaedah mengecualikan aksara Cina dalam PHP untuk rujukan pembaca.

Kaedah 1: Gunakan ungkapan biasa

Menggunakan ungkapan biasa boleh mengecualikan aksara Cina dengan lebih mudah. Berikut ialah contoh kod:

function excludeChinese($str) {

    return preg_replace("/[\x7f-\xff]+/", '', $str);

}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出为空
Salin selepas log masuk

Dalam kod di atas, fungsi preg_replace digunakan untuk menggantikan aksara Cina dalam rentetan dengan rentetan kosong untuk mengecualikan aksara Cina. [x7f-xff] bermaksud memadankan semua aksara Cina dalam jadual kod ASCII.

Memandangkan pengekodan aksara Cina tidak unik, kaedah ini tidak sempurna. Dalam sesetengah kes, kaedah lain untuk mengecualikan aksara Cina mungkin diperlukan.

Kaedah 2: Gunakan fungsi mb_check_encoding

Aksara Cina juga boleh dikecualikan dengan menggunakan fungsi mb_check_encoding. Berikut ialah contoh kod:

function excludeChinese($str) {

    $len = mb_strlen($str);
    for ($i=0; $i<$len; $i++) {
        $char = mb_substr($str, $i, 1);
        if (!mb_check_encoding($char, 'ASCII')) {
            return '';
        }
    }
    return $str;
}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出为空
Salin selepas log masuk

Kod di atas menggunakan fungsi mb_check_encoding untuk mengesan sama ada setiap aksara dalam rentetan ialah aksara ASCII Jika tidak, rentetan kosong dikembalikan untuk mengecualikan aksara Cina.

Kaedah 3: Gunakan fungsi iconv

Cara lain untuk mengecualikan aksara Cina ialah menggunakan fungsi iconv. Berikut ialah contoh kod:

function excludeChinese($str) {

    $str = iconv("UTF-8", "ASCII//IGNORE", $str);
    return $str;
}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出空字符串
Salin selepas log masuk

Dalam kod di atas, pengekodan rentetan mula-mula ditukar daripada pengekodan UTF-8 kepada ASCII, kemudian aksara Cina diabaikan melalui parameter IGNORE, dan akhirnya rentetan hasil dikembalikan.

Kesimpulan

Kaedah di atas semuanya boleh mencapai pengecualian aksara Cina, dan kaedah khusus boleh dipilih mengikut keperluan. Sudah tentu, kaedah yang berbeza mungkin diperlukan dalam senario yang berbeza. Dalam pembangunan sebenar, adalah yang terbaik untuk membuat pilihan berdasarkan syarat aplikasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk mengecualikan aksara Cina dalam php (tiga kaedah). 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan