strtr+array_combine实现简单的敏感词过滤

446 查看

<?php
  
  $badword=array('张三','丰田','张三丰田');

  $str='你好,张三丰, 请问你对李四开了个丰田车';

  // array_combine 第一个数组作为键,第二个数组做为值 
  $word=array_combine($badword,array_fill(0, count($badword),'*'));

        //把字符串 "Hello world" 替换成 "Hi earth":
        // $arr = array("Hello" => "Hi", "world" => "earth");
        //echo strtr("Hello world",$arr);
        
  $a=strtr($str, $word); // 把str中对应word中的键,都换为word中的值

  var_dump($a);
  
  
  outout:string(44) "你好,*丰, 请问你对李四开了个*车"