tbetool / spam-doctor
该包最新版本(1.3.0)没有提供许可信息。
防止您的邮件被垃圾邮件攻击。用于检查内容是否包含垃圾邮件单词的PHP库。
1.3.0
2018-10-17 07:17 UTC
Requires
- php: >=5.5
This package is auto-updated.
Last update: 2024-09-17 21:03:31 UTC
README
在收到垃圾邮件之前检查您的邮件内容是否存在垃圾邮件可能性。用于检查内容是否包含垃圾邮件单词的PHP库。
使用库
安装
使用composer在PHP项目中安装库
composer require tbetool/spam-doctor
使用库
$spamDoctor = new SpamDoctor();
$spamDoctor->check($text_content);
check()
参数
- text_content:要检查的文本内容。您可以传递纯文本和HTML内容。
- is_html (布尔值):如果
text_content
是HTML
,则将第二个参数设置为true
。默认值:false。
获取输出
$spamDoctor->getSpamItems();
返回包含垃圾邮件关键字及其出现次数的数组。
[ 0 => [ item => 'welcome', count => 4 ] ]
$spamDoctor->getSpamPositions();
返回垃圾邮件项位置的数组,按升序排列。
[ 0 => 4, 1 => 12, 2 => 25 ]
$spamDoctor->getHighlighted();
返回带有红色高亮显示的垃圾邮件关键字的完整字符串。如果提供的检查内容是HTML内容,则返回HTML内容的文本。
要获取带高亮的HTML内容,请将参数传递为true
。
$spamDoctor->getHighlighted(true);
返回带有垃圾邮件关键字高亮的完整HTML内容。
$spamDoctor->getSpamDictionary();
返回用于检测垃圾邮件内容的完整单词列表的数组。
替换规则
库还支持替换规则,可以在运行时替换垃圾邮件文本。您可以通过键值对传递JSON规则,其中垃圾邮件文本中的键被替换为相应的值。
要设置替换规则,请在调用check()
之前使用以下函数
$replace_rule = [ 'o' => 0, 'O' => 0, '*' => '_' ]; $replace_rule = json_encode($replace_rule); $spamDoctor->setReplaceRule($replace_rule);
以上示例将将o
和O
(大小写O)替换为0
(零)
如果replace_rule
中找不到字母,您也可以通过传递*
键和相应的值来传递要替换的常见字母。
例如,在上面的示例中,如果垃圾邮件单词包含o
或*O
,则将替换为0
,否则将在单词中的随机位置添加_
(下划线)。
自学习
该库在处理垃圾邮件内容时自行学习。它在data
目录中生成了一个名为spam_data.txt
的字典文件。
您还可以通过传递JSON数据到teachDoctor()
函数来教给医生。
$spamDoctor->teachDoctor($json_data);
注意:JSON数据可以是2维数组
异常处理
示例
try {
$spamDoctor->check($html_content, true);
} catch (Exception $exception) {
echo $exception->getMessage();
}
错误报告
如果您发现任何错误,请创建一个问题。
支持和贡献
有什么遗漏的吗?
Fork
仓库- 做出您的贡献
- 创建一个
pull request