php實現的替換敏感字串類執行個體,字串執行個體_PHP教程

來源:互聯網
上載者:User

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 字串替換

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

php 替換指定字串中,兩個字串之間(包括這兩個字串)之間的內容

這類替換最好不好使用Regex,因為你搜尋的內容的唯一的無需使用正在,而且替換的文本較大正則效率太低。

方法是找到這兩個特殊字元串的位置,然後使用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));
 

http://www.bkjia.com/PHPjc/882905.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/882905.htmlTechArticlephp實現的替換敏感字串類執行個體,字串執行個體 本文執行個體講述了php實現的替換敏感字串類及其用法,在php程式開發中有著非常廣泛的應用價...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.