Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menggantikan asterisk dalam bahasa Cina dalam php

Bagaimana untuk menggantikan asterisk dalam bahasa Cina dalam php

藏色散人
藏色散人asal
2021-10-19 09:16:192644semak imbas

Cara menggantikan asterisk dengan bahasa Cina dalam PHP: 1. Tentukan sama ada aksara mengandungi aksara Cina 2. Gunakan fungsi mb_substr untuk menggantikan bahagian Cina yang ditentukan dengan asterisk.

Bagaimana untuk menggantikan asterisk dalam bahasa Cina dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Cara menggantikan asterisk dengan Bahasa Cina dalam php?

Nama pengguna PHP diproses dengan asterisk

Nama pengguna PHP diproses dengan tanda *:

Nama pengguna: Inggeris, Cina, campuran Cina dan Inggeris, Cina dan Inggeris Campuran aksara

diproses seperti berikut: huruf pertama dan penghujungnya dikekalkan, dan bahagian tengah digantikan dengan * (satu aksara dipaparkan secara langsung, dua aksara: Zhang*, tiga atau lebih aksara: Song*Dan )

Mula-mula tentukan sama ada aksara itu mengandungi aksara Cina, dan jika ya, gunakan siri mb_ fungsi (bahasa Cina di sini menggunakan format UTF-8)

UTF-8 biasa Cina: "/ [x{4e00}- x{9fa5}] /u"

GB2312 biasa Cina: "/[".chr(0xa1)."-".chr(0xff)."] /"

 //判断是否包含中文字符
if(preg_match("/[\x{4e00}-\x{9fa5}]+/u", $str)) {
    //按照中文字符计算长度
    $len = mb_strlen($str, 'UTF-8');
    //echo '中文';
    if($len >= 3){
        //三个字符或三个字符以上掐头取尾,中间用*代替
        $str = mb_substr($str, 0, 1, 'UTF-8') . '*' . mb_substr($str, -1, 1, 'UTF-8');
    } elseif($len == 2) {
        //两个字符
        $str = mb_substr($str, 0, 1, 'UTF-8') . '*';
    }
} else {
    //按照英文字串计算长度
    $len = strlen($str);
    //echo 'English';
    if($len >= 3) {
        //三个字符或三个字符以上掐头取尾,中间用*代替
        $str = substr($str, 0, 1) . '*' . substr($str, -1);
    } elseif($len == 2) {
        //两个字符
        $str = substr($str2, 0, 1) . '*';
    }
}

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menggantikan asterisk dalam bahasa Cina dalam php. 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