php怎麼處理不可見字元

2020-07-16 10:06:31

php處理不可見字元的方法:首先建立一個PHP檔案;然後定義一個filterNonPrintableChar方法;接著在方法體內通過while語句實現過濾不可見字元的功能邏輯;最後執行該檔案即可。

php過濾不可見字元

編碼知識

ASCII碼為標準符號、數位、英文等進行了保留,取值範圍是0~127,還有一部分作為擴充套件ASCII碼128~255。當作業系統採用非ASCII編碼時(比如漢字編碼),一般用擴充套件ASCII碼來進行,約定用128~255範圍的編碼連續2~3甚至4個位元組來進行漢字編碼。

所以可以判斷ASCII碼十進位制值是否大於127來篩選出漢字。

php程式碼

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

推薦:《PHP教學

以上就是php怎麼處理不可見字元的詳細內容,更多請關注TW511.COM其它相關文章!