PHP 如何写一个敏感词汇过滤
时间: 2023-08-08 19:07:16 浏览: 80
php实现敏感词过滤类
在 PHP 中,可以使用正则表达式进行敏感词汇过滤。以下是一个简单的示例代码,供参考:
```php
$sensitiveWords = array('敏感词1', '敏感词2', '敏感词3'); //敏感词汇列表
$message = "这是一条包含敏感词汇的消息,例如敏感词1和敏感词2";
foreach ($sensitiveWords as $word) {
$pattern = '/'.preg_quote($word, '/').'/i'; //创建正则表达式模式,忽略大小写
$replacement = str_repeat('*', mb_strlen($word, 'UTF-8')); //创建替换字符串,保持长度不变
$message = preg_replace($pattern, $replacement, $message); //替换敏感词汇
}
echo $message; //输出:这是一条包含***的消息,例如***和***
```
在上面的示例代码中,我们首先定义了一个敏感词汇列表,然后遍历列表中的每个敏感词汇。对于每个敏感词汇,我们使用 `preg_quote()` 函数创建一个正则表达式模式,忽略大小写。然后,我们使用 `str_repeat()` 函数创建一个与敏感词汇长度相同的替换字符串,用于替换敏感词汇。最后,我们使用 `preg_replace()` 函数将消息中的敏感词汇替换为替换字符串。
阅读全文