大佬教程收集整理的这篇文章主要介绍了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、MysqL、LINUX、APP、JS,CSS全面培养人才。
以上是大佬教程为你收集整理的php实现的替换敏感字符串类实例全部内容,希望文章能够帮你解决php实现的替换敏感字符串类实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。