Maison >développement back-end >Problème PHP >Comment remplacer l'astérisque en chinois en php

Comment remplacer l'astérisque en chinois en php

藏色散人
藏色散人original
2021-10-19 09:16:192646parcourir

Comment remplacer les astérisques par du chinois en PHP : 1. Déterminez si les caractères contiennent des caractères chinois ; 2. Utilisez la fonction mb_substr pour remplacer la partie chinoise spécifiée par des astérisques.

Comment remplacer l'astérisque en chinois en php

L'environnement d'exploitation de cet article : système windows7, version PHP7.1, ordinateur DELL G3

Comment remplacer les astérisques en chinois en php ?

Les noms d'utilisateur PHP sont traités avec des astérisques

Les noms d'utilisateur PHP sont traités avec les signes * :

Noms d'utilisateur : anglais, chinois, chinois et anglais mixtes, caractères chinois et anglais mixtes

sont traités comme : la première lettre et la fin sont conservé, utilisez plutôt * au milieu (un caractère est affiché directement, deux caractères : Zhang*, trois caractères ou plus : Song*Dan)

Déterminez d'abord si les caractères contiennent des caractères chinois, et si c'est le cas, utilisez la série mb_ de fonctions (le chinois utilisé ici est au format UTF-8)

Règles régulières chinoises UTF-8 : "/[x{4e00}-x{9fa5}]+/u"

GB2312 Règles régulières chinoises : "/[" .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) . '*';
    }
}

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn