欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-06-13 18:09:47
...

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 字符串替换

baidu", $string);echo $string;?>
 

php 替换指定字符串中,两个字符串之间(包括这两个字符串)之间的内容

这类替换最好不好使用正则表达式,因为你搜索的内容的唯一的无需使用正在,而且替换的文本较大正则效率太低。

方法是找到这两个特殊字符串的位置,然后使用substr删除中间部分,例子代码:

$str='....你要处理的字符串.....';
$s1='...开始字符串...';
$s2='...结束字符串...';
$i1=strpos($str,$s1);//开始位置
$i2=strpos($str,$s2);//结束位置
if ($i1!==false && $i2!==false)//找到
$str=substr($str,0,$i1-1) . substr($str,$i2+strlen($s2));
 

相关标签: php 字符串