wordPoolPath = 'tests/data/words.txt';
}
public function testGetBadWord()
{
$sTime = microtime(true);
$content = '这是一段测试语句,请忽略赌球网, 第二个敏感词是三级片';
// 过滤,其中【赌球网】在词库中
$filterContent = SensitiveHelper::init()
->setTreeByFile($this->wordPoolPath)
->getBadWord($content);
// 返回规定数量的敏感词,其中【赌球网,三级片】在词库中
$badWords = SensitiveHelper::init()
->setTreeByFile($this->wordPoolPath)
->getBadWord($content, 1, 2);
$eTime = microtime(true);
echo ($eTime - $sTime) * 1000 . 'ms' . PHP_EOL;
$this->assertEquals('赌球网', $filterContent[0]);
$this->assertEquals('三级片', $badWords[1]);
}
public function testFilterWord()
{
$content = '这是一段测试语句,请忽略赌球网';
// 过滤,其中【赌球网】在词库中
$filterContent = SensitiveHelper::init()
->setTreeByFile($this->wordPoolPath)
->replace($content,'*');
$this->assertEquals('这是一段测试语句,请忽略*', $filterContent);
// 过滤,其中【赌球网】在词库中
$filterContent = SensitiveHelper::init()
->setTreeByFile($this->wordPoolPath)
->replace($content,'*', true);
$this->assertEquals('这是一段测试语句,请忽略***', $filterContent);
}
public function testMarkWord()
{
$content = '这是一段测试语句,请忽略赌球网';
// 过滤,其中【赌球网】在词库中
$markedContent = SensitiveHelper::init()
->setTreeByFile($this->wordPoolPath)
->mark($content,'', '');
$this->assertEquals('这是一段测试语句,请忽略赌球网', $markedContent);
}
}