PHP에서 한자를 제외하는 방법(3가지 방법)

PHPz
풀어 주다: 2023-04-04 17:32:01
원래의
1340명이 탐색했습니다.

한자는 웹사이트 개발 중에 흔히 발생하는 문제입니다. PHP에서는 preg_replace, str_replace 등의 텍스트 처리 함수를 통해 한자를 정상적으로 처리할 수 있습니다. 그러나 일부 특정 시나리오에서는 중국어 문자를 제외해야 합니다. 예를 들어 사용자 이름 필드에 영어 문자와 숫자만 포함할 수 있는 경우 중국어 문자를 제외해야 합니다.

이 기사에서는 독자의 참고를 위해 PHP에서 한자를 제외하는 여러 가지 방법을 소개합니다.

방법 1: 정규식 사용

정규식을 사용하면 한자를 더 쉽게 제외할 수 있습니다. 다음은 샘플 코드입니다.

function excludeChinese($str) {

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

}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出为空
로그인 후 복사

위 코드에서 preg_replace 함수를 사용하면 문자열의 한자를 빈 문자열로 바꿔서 한자를 제외할 수 있습니다. [x7f-xff]는 ASCII 코드 테이블의 모든 중국어 문자와 일치함을 의미합니다.

한자의 인코딩이 고유하지 않다는 점을 고려하면 이 방법은 완벽하지 않습니다. 어떤 경우에는 한자를 제외하는 다른 방법이 필요할 수도 있습니다.

방법 2: mb_check_encoding 함수를 사용하세요.

한자를 제외하려면 mb_check_encoding 함수를 사용하세요. 다음은 샘플 코드입니다.

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; //输出为空
로그인 후 복사

위 코드는 mb_check_encoding 함수를 사용하여 문자열의 각 문자가 ASCII 문자인지 여부를 감지하고, 그렇지 않은 경우 한자를 제외하기 위해 빈 문자열을 반환합니다.

방법 3: iconv 함수 사용

한자를 제외하는 또 다른 방법은 iconv 함수를 사용하는 것입니다. 다음은 샘플 코드입니다.

function excludeChinese($str) {

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

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出空字符串
로그인 후 복사

위 코드에서는 문자열의 인코딩을 먼저 UTF-8에서 ASCII 인코딩으로 변환한 후 IGNORE 매개변수를 통해 한자를 무시하고 최종적으로 결과 문자열을 반환합니다.

결론

위의 방법은 모두 한자를 제외할 수 있습니다. 구체적인 방법은 필요에 따라 선택할 수 있습니다. 물론, 다양한 시나리오에서는 다양한 방법이 필요할 수 있습니다. 실제 개발에서는 구체적인 적용 조건에 따라 선택하는 것이 가장 좋습니다.

위 내용은 PHP에서 한자를 제외하는 방법(3가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿