>백엔드 개발 >PHP 문제 >PHP에서 보이지 않는 문자를 처리하는 방법

PHP에서 보이지 않는 문자를 처리하는 방법

藏色散人
藏色散人원래의
2020-07-03 08:59:403576검색

PHP가 보이지 않는 문자를 처리하는 방법: 먼저 PHP 파일을 만든 다음 filterNonPrintableChar 메서드를 정의한 다음 메서드 본문의 while 문을 통해 보이지 않는 문자를 필터링하는 기능적 논리를 구현합니다.

PHP에서 보이지 않는 문자를 처리하는 방법

php는 보이지 않는 문자 필터링

코딩 지식

ASCII 코드는 표준 기호, 숫자, 영어 등에 사용됩니다. 값 범위는 0~127이며 일부는 확장 ASCII 코드 128로 사용됩니다. ~255. 운영 체제가 비ASCII 인코딩(예: 중국어 문자 인코딩)을 사용하는 경우 일반적으로 확장 ASCII 코드가 사용됩니다. 한자를 인코딩하기 위해 2~3바이트 또는 심지어 4개의 연속 바이트에 대해 128~255의 코딩 범위를 사용하는 것이 동의됩니다.

따라서 ASCII 코드의 십진수 값이 127보다 큰지 판단하여 한자를 필터링할 수 있습니다.

php 코드

<?php
/**
 * @param $str
 * @return string
 * 过滤不可见字符,支持中文过滤
 * 0至31和127这33个编码是不可见的特殊字符(控制符)
 */
function filterNonPrintableChar($str)
{
    $i = 0;
    $newStr = &#39;&#39;;
    while (isset($str[$i])) {
        $char = $str[$i];
        $asc = ord($char);
        if ($asc > 31 && $asc < 127 || $asc > 127) {
            $newStr .= $char;
        }
        $i++;
    }
    return $newStr;
}
$str = chr(1) ."a3#2%1". chr(2) . chr(54) . "s哈哈ad~a好的s";
var_dump(filterNonPrintableChar($str));
$str = "“ASCII码为标准符号、数字、英文等进行了保留,取值范围是0~127,还有一部分作为扩展ASCII码128~255当操作系统采用非ASCII编码时(比如汉字编码),一般用扩展ASCII码来进行,约定用128~255范围的编码连续2~3甚至4个来进行...”";
var_dump(filterNonPrintableChar($str));

추천: "PHP Tutorial"

위 내용은 PHP에서 보이지 않는 문자를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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