php 判断内容是否有指定的敏感词 写个函数
时间: 2024-09-22 15:01:11 浏览: 24
在PHP中,判断字符串是否包含特定敏感词通常涉及遍历字符串并检查每个单词是否匹配预定义的黑名单列表。这里可以创建一个简单的函数来完成这个任务,例如:
```php
function contains_sensitive_word($content, $blacklist) {
// 确保输入都是数组
if (!is_array($blacklist)) {
$blacklist = array($blacklist);
}
// 将内容拆分为单词并过滤掉标点符号
$words = preg_split('/\W+/', $content);
// 遍历每个单词并检查是否在黑名单中
foreach ($words as $word) {
if (in_array(strtolower($word), $blacklist)) { // 转换为小写比较,忽略大小写差异
return true;
}
}
return false; // 如果没有找到敏感词,则返回false
}
// 使用示例
$blacklist = array('敏感词1', '敏感词2');
$content = "这是一个测试内容,含有敏感词1";
if (contains_sensitive_word($content, $blacklist)) {
echo "内容包含敏感词.";
} else {
echo "内容不含敏感词.";
}
相关问题
封装一个过滤敏感词的函数
好的,以下是一个简单的 Python 函数,可以用于过滤敏感词:
```
def filter_words(input_str, sensitive_words):
for word in sensitive_words:
input_str = input_str.replace(word, '*' * len(word))
return input_str
```
其中,`input_str` 是输入的字符串,`sensitive_words` 是一个包含所有敏感词的列表。该函数会遍历敏感词列表,将字符串中出现的敏感词替换为相同长度的星号,最后返回过滤后的字符串。
使用js封装一个过滤敏感词的函数
好的,以下是一个简单的 JavaScript 函数,可以用于过滤敏感词:
```
function filterWords(inputStr, sensitiveWords) {
for (let i = 0; i < sensitiveWords.length; i++) {
const regex = new RegExp(sensitiveWords[i], 'gi');
inputStr = inputStr.replace(regex, '*'.repeat(sensitiveWords[i].length));
}
return inputStr;
}
```
其中,`inputStr` 是输入的字符串,`sensitiveWords` 是一个包含所有敏感词的数组。该函数会遍历敏感词数组,将字符串中出现的敏感词替换为相同长度的星号,最后返回过滤后的字符串。这里使用了正则表达式和 `String.prototype.replace()` 方法来实现替换操作。
阅读全文