Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man in PHP mit unsichtbaren Zeichen umgeht

Wie man in PHP mit unsichtbaren Zeichen umgeht

藏色散人
藏色散人Original
2020-07-03 08:59:403541Durchsuche

Wie PHP mit unsichtbaren Zeichen umgeht: Erstellen Sie zuerst eine PHP-Datei, definieren Sie dann eine filterNonPrintableChar-Methode und implementieren Sie dann die Funktionslogik zum Filtern unsichtbarer Zeichen im Methodenkörper.

Wie man in PHP mit unsichtbaren Zeichen umgeht

PHP-Filter unsichtbare Zeichen

Codierungskenntnisse

ASCII-Code ist Standardsymbole , Zahlen, Englisch usw. sind reserviert und der Wertebereich liegt zwischen 0 und 127. Einige werden als erweiterte ASCII-Codes von 128 bis 255 verwendet. Wenn das Betriebssystem eine Nicht-ASCII-Kodierung verwendet (z. B. die Kodierung chinesischer Zeichen), wird im Allgemeinen ein erweiterter ASCII-Code verwendet. Es wird vereinbart, einen Kodierungsbereich von 128 bis 255 für 2 bis 3 oder sogar 4 aufeinanderfolgende Bytes zu verwenden, um chinesische Zeichen zu kodieren.

So können Sie beurteilen, ob der Dezimalwert des ASCII-Codes größer als 127 ist, um chinesische Schriftzeichen herauszufiltern.

PHP-Code

<?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));

Empfohlen: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWie man in PHP mit unsichtbaren Zeichen umgeht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn