php实现的替换敏感字符串类实例_.docx

上传人:PIYPING 文档编号:11644680 上传时间:2021-08-27 格式:DOCX 页数:13 大小:13.32KB
返回 下载 相关 举报
php实现的替换敏感字符串类实例_.docx_第1页
第1页 / 共13页
php实现的替换敏感字符串类实例_.docx_第2页
第2页 / 共13页
php实现的替换敏感字符串类实例_.docx_第3页
第3页 / 共13页
php实现的替换敏感字符串类实例_.docx_第4页
第4页 / 共13页
php实现的替换敏感字符串类实例_.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《php实现的替换敏感字符串类实例_.docx》由会员分享,可在线阅读,更多相关《php实现的替换敏感字符串类实例_.docx(13页珍藏版)》请在三一文库上搜索。

1、php实现的替换敏感字符串类实例_ StrFilter.class.php类文件如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8

2、9 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 ?php /* string filter class * Date: 2021-01-09 * Author: fdipzone * Ver: v1.0 * * Func: * public replace 替换非法字符 * public check 检查是否含有非法字符 * private protect_white_list 爱护白_ * private resume_white_list 还原白_

3、 * 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 _c

4、onstruct($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) | $conten

5、t=) 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

6、; /* 检查是否含有非法自符 * 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)

7、!=) 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 Str

8、ing $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 fu

9、nction getval($matches) return isset($this-_white_list$matches1)? $this-_white_list$matches1 : ; / key-val / class end ? demo示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 ?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); ? 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1