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

本文详细介绍了如何使用PHP编写一个StrFilter类,用于替换非法字符和保护/恢复白名单。通过实例演示了如何使用该类进行字符串处理,并提供了一个下载链接以供参考。适合PHP开发者提升代码安全性和控制字符串输出。
摘要由CSDN通过智能技术生成

本文实例讲述了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中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值