ホームページ >php教程 >php手册 >PHPフィルターのASCII制御文字

PHPフィルターのASCII制御文字

WBOY
WBOYオリジナル
2016-06-21 08:48:181255ブラウズ

仕事中に他のWebサイトからデータをxmlにインポートしたことを今でも覚えています。しかし、問題が発生します。Web ページには asciII 制御文字が含まれることになります。 最初は、誰かが収集を防ぐために追加したものだと思いました。その後、それを見つけてフィルタリングリストに追加しました。それらがすべて ASCII テーブル内の文字であることが徐々にわかるまでは。 原因がわかれば、解決するのは簡単です。

 /**
  * 根据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);
 }




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。