PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php实现的替换敏感字符串类实例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

《:PHP实现的替换敏感字符串类实例》要点:
本文介绍了:PHP实现的替换敏感字符串类实例,希望对您有用。如果有疑问,可以联系我们。

PHP教程本文实例讲述了PHP实现的替换敏感字符串类及其用法,在PHP程序开发中有着非常广泛的应用价值.分享给大家供大家参.具体办法如下:

PHP教程StrFilter.class.PHP文件如下:

PHP教程
<?PHP 
/** String filter class 
* Date:   2013-01-09 
* Author:  fdipzone 
* Ver:   v1.0 
* 
* Func: 
* public replace      替换非法字符 
* public check       检查是否含有非法字符 
* private protect_white_list 保护白名单 
* private resume_white_list 还原白名单 
* private getval       白名单 key转为value 
*/ 
class StrFilter{ // class start 
 
  private $_white_list = array(); 
  private $_black_list = array(); 
  private $_replacement = '*'; 
  private $_LTAG = '[[##'; 
  private $_RTAG = '##]]'; 
 
  /** 
  * @param Array $white_list 
  * @param Array $black_list 
  * @param String $replacement 
  */ 
  public function __construct($white_list=array(),$black_list=array(),$replacement='*'){ 
    $this->_white_list = $white_list; 
    $this->_black_list = $black_list; 
    $this->_replacement = $replacement; 
  } 
 
  /** 替换非法字符 
  * @param String $content 要替Q的字符串 
  * @return String     替Q后的字符串 
  */ 
  public function replace($content){ 
 
    if(!isset($content) || $content==''){ 
      return ''; 
    } 
 
    // protect white list 
    $content = $this->protect_white_list($content); 
 
    // replace black list 
    if($this->_black_list){ 
      foreach($this->_black_list as $val){ 
        $content = str_replace($val,$this->_replacement,$content); 
      } 
    } 
 
    // resume white list 
    $content = $this->resume_white_list($content); 
 
    return $content; 
  } 
 
  /** 检查是否含有非法自符 
  * @param String $content 字符串 
  * @return Boolean 
  */ 
  public function check($content){ 
 
    if(!isset($content) || $content==''){ 
      return true; 
    } 
 
    // protect white list 
    $content = $this->protect_white_list($content); 
 
    // check 
    if($this->_black_list){ 
      foreach($this->_black_list as $val){ 
        if(strstr($content,$val)!=''){ 
          return false; 
        } 
      } 
    } 
    return true; 
  } 
 
  /** 保护白名单 
  * @param String $content 字符串 
  * @return String 
  */ 
  private function protect_white_list($content){ 
    if($this->_white_list){ 
      foreach($this->_white_list as $key=>$val){ 
        $content = str_replace($val,$this->_LTAG.$key.$this->_RTAG,$content); 
      } 
    } 
    return $content; 
  } 
 
  /** 还原白名单 
  * @param String $content 
  * @return String 
  */ 
  private function resume_white_list($content){ 
    if($this->_white_list){ 
      $content = preg_replace_callBACk("/\[\[##(.*?)##\]\].*?/si",array($this,'getval'),$content); 
    } 
    return $content; 
  } 
 
  /** 白名单 key还原为value 
  * @param Array $matches 匹配white_list的key 
  * @return String white_list val 
  */ 
  private function getval($matches){ 
    return isset($this->_white_list[$matches[1]])? $this->_white_list[$matches[1]] : ''; // key->val 
  } 
} // class end 
?>

PHP教程demo示例如下:

PHP教程
<?PHP 
  header("content-type:text/html;charset=utf8"); 
 
  require("StrFilter.class.PHP"); 
 
  $white = array('潘','曹操'); 
  $black = array('','操'); 
 
  $content = "我操,曹操你是潘,我拍惆"; 
 
  $obj = new StrFilter($white,$black); 
  echo $obj->replace($content); 
?>

PHP教程完整实例代码点击本站下载

PHP教程希望本文所述对大家PHP程序设计的学习有所赞助.

大佬教程培训学院每天发布《:PHP实现的替换敏感字符串类实例》等实战技能,PHPMysqL、LINUX、APP、JS,CSS全面培养人才。

大佬总结

以上是大佬教程为你收集整理的php实现的替换敏感字符串类实例全部内容,希望文章能够帮你解决php实现的替换敏感字符串类实例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: