cii-text-analysis/Lib/Discriminant/BlackList.php
Jéremy Munsch f68d2ac333
premier poc
2026-02-11 08:24:04 +01:00

39 lines
975 B
PHP

<?php
declare(strict_types=1);
namespace Classifier\Lib\Discriminant;
use Classifier\Lib\Utils\StringCleaner;
class BlackList
{
/** @var string[] */
private $keywords;
public function __construct(array $keywords, StringCleaner $cleaner)
{
$this->keywords = [];
foreach ($keywords as $keyword) {
$cleanedKeyword = $cleaner->getCleanChain($keyword);
if (!is_string($cleanedKeyword) || preg_match('/\s/', $cleanedKeyword)) {
throw new \InvalidArgumentException(
"Erreur : Les mots-clés de la blacklist doivent être des chaînes de caractères simples (sans espaces) '{$cleanedKeyword}'."
);
}
$this->keywords[] = $cleanedKeyword;
}
}
/**
* Retourne la liste des mots-clés de la blacklist
*
* @return string[]
*/
public function getKeywords(): array
{
return $this->keywords;
}
}