>백엔드 개발 >PHP 문제 >PHP에서 중국어 별표를 바꾸는 방법

PHP에서 중국어 별표를 바꾸는 방법

藏色散人
藏色散人원래의
2021-10-19 09:16:192636검색

PHP에서 별표를 중국어로 바꾸는 방법: 1. 문자에 중국어 문자가 포함되어 있는지 확인합니다. 2. mb_substr 함수를 사용하여 지정된 중국어 부분을 별표로 바꿉니다.

PHP에서 중국어 별표를 바꾸는 방법

이 기사의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터

PHP에서 중국어 별표를 바꾸는 방법은 무엇입니까?

PHP 사용자 이름은 별표로 처리됩니다.

PHP 사용자 이름은 * 기호로 처리됩니다.

사용자 이름: 영어, 중국어, 중국어와 영어 혼합, 중국어와 영어 혼합 문자

는 다음과 같이 처리됩니다. 첫 글자와 끝은 다음과 같습니다. 유지, 대신에 *를 사용하세요(한 글자가 직접 표시됨, 두 글자: Zhang*, 세 글자 이상: Song*Dan)

먼저 해당 문자에 한자가 포함되어 있는지 확인하고, 그렇다면 mb_ 계열을 사용하세요. 이를 처리하는 함수(여기서는 중국어가 UTF-8 형식으로 사용됨)

UTF-8 중국어 정규 규칙: "/[x{4e00}-x{9fa5}]+/u"

GB2312 중국어 정규 규칙: " /[".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) . '*';
    }
}

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 중국어 별표를 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.