Heim > Artikel > Backend-Entwicklung > So filtern Sie unsichtbare Zeichen in PHP
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.
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 = ''; 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!