Heim  >  Artikel  >  Backend-Entwicklung  >  So filtern Sie unsichtbare Zeichen in PHP

So filtern Sie unsichtbare Zeichen in PHP

藏色散人
藏色散人Original
2020-07-30 09:56:433485Durchsuche

So filtern Sie unsichtbare Zeichen in PHP: Erstellen Sie zunächst eine PHP-Code-Beispieldatei. Definieren Sie dann eine „filterNonPrintableChar“-Methode. Implementieren Sie dann die Filterlogik über isset, ord und andere Funktionen " Dürfen.

So filtern Sie unsichtbare Zeichen in PHP

Empfohlen: „PHP-Video-Tutorial

PHP-Filter für unsichtbare Zeichen

Codierungskenntnisse

ASCII-Codes sind für Standardsymbole, Zahlen, Englisch usw. reserviert. Der Wertebereich liegt zwischen 0 und 127, bei einigen handelt es sich um erweiterte ASCII-Codes von 128 bis 255. 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));

Das obige ist der detaillierte Inhalt vonSo filtern Sie unsichtbare Zeichen in PHP. 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