|
還記得以前在工作中,將爬來(lái)的其它網(wǎng)站的數(shù)據(jù)導(dǎo)到xml。但是會(huì)遇到一個(gè)問題:即網(wǎng)頁(yè)會(huì)有ascII的控制字符。一開始以為是別人為了防止采集而加入的,然后發(fā)現(xiàn)一個(gè)就往過濾表里加一個(gè)。直到慢慢發(fā)現(xiàn),他們都是ascii表里的字符。找到原因了,就好解決了。
復(fù)制代碼 代碼如下:
/**
* 根據(jù)ascii碼過濾控制字符
* @param type $string
*/
public static function special_filter($string)
{
if(!$string) return '';
$new_string = '';
for($i =0; isset($string[$i]); $i++)
{
$asc_code = ord($string[$i]); //得到其asc碼
//以下代碼旨在過濾非法字符
if($asc_code == 9 || $asc_code == 10 || $asc_code == 13){
$new_string .= ' ';
}
else if($asc_code > 31 && $asc_code != 127){
$new_string .= $string[$i];
}
}
return trim($new_string);
}
php技術(shù):php小技巧之過濾ascii控制字符,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。