写了一个垃圾评论过滤插件,但是总觉得哪里有问题,请各位提提建议,代码如下:1.config.php
<?php
return [
'processing_mode' => 1,
'keyword' => '去,的', //填写要过滤的关键字以英文,号分割
];
2.类文件
<?php
class MaliciousCommentsFiltering
{
protected $config;
public function __construct()
{
//引入配置文件
$this->config=include 'config.php';
}
/**
* 搜索关键字并替换
* @param $searchKeyword 要搜索的关键字
* @return mixed|string 返回处理结果
*/
public function senseKey($searchKeyword)
{
$keyword = $this->config['keyword'];
$keyword = explode(',', $keyword);
$reslut = '';
foreach ($keyword as $value) {
if (strpos($searchKeyword, $value) !== false) {
//如果processing_mode设置为1代表,用*号代替关键字
if ($this->config['processing_mode'] == 1) {
$reslut = str_ireplace($value, '***', $searchKeyword);
} else {
//如果返回300代表存在关键字
$reslut = 300;
}
}
}
return $reslut;
}
}
欢迎各位发表自己的观点
4 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
用正则呢,以下是手册上的:
$string = 'The quick brown fox jumps over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
输出:The bear black slow jumps over the lazy dog.
- 4 回答
- 0 关注
- 711 浏览
添加回答
举报
0/150
提交
取消