> php教程 > php手册 > php实现的替换敏感字符串类实例

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

WBOY
풀어 주다: 2016-06-06 20:19:06
원래의
1116명이 탐색했습니다.

这篇文章主要介绍了php实现的替换敏感字符串类,包括了常见的非法字符串检测、白名单、黑名单及字符替换等功能,非常实用,需要的朋友可以参考下

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

StrFilter.class.php类文件如下:

_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示例如下:

replace($content); ?>

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

希望本文所述对大家php程序设计的学习有所帮助。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿