php实现的替换敏感字符串类实例
网络编程 2021-07-05 09:50www.168986.cn编程入门
这篇文章主要介绍了php实现的替换敏感字符串类,包括了常见的非法字符串检测、白名单、黑名单及字符替换等功能,非常实用,需要的朋友可以参考下
本文实例讲述了php实现的替换敏感字符串类及其用法,在php程序开发中有着非常广泛的应用价值。分享给大家供大家参考。具体方法如下
StrFilter.class.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 要替換的字符串 @return String 替換后的字符串 / 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 ?>
demo示例如下
<?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实现的发送带附件邮件类实例
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程