Нашел в поиске несколько подобных тем, хотел туда просто апнуть, но все эти темы закрыты. Потому новый топ, вдруг кому полезно будет.
PHP код:
<?
set_time_limit(0);
#файл с ключевиками, которые надо профильтровать от нелегальщины, ключевики должны быть в нем по 1 штуке на строку
@$file = file('keys.txt') or die('Файл с ключами не обнаружен в папке со скриптом, либо почему-то не может быть прочитан');
echo '<b>Всего '.count($file).' ключевиков<br>Прогресс:</b> ';
$pattern = '@(^.*\b(дети|дите|детс|детя|дитя|мал|девоч|юнн|юна|юны|юной|млад).*)(\b(порн|поре|трах|еб|секс|гол|насил|изнасил|обнаж|шлю|развра|растл|влагал|эро|девств|пис|поп|ягод|ню).*$)|(^.*\b(порн|поре|трах|еб|секс|гол|насил|изнасил|обнаж|шлю|развра|растл|влагал|эро|девств|юна|юны|пис|поп|ягод|ню).*)(\b(дети|дите|детс|детя|дитя|мал|девоч|юнн|юна|юны|юной|млад).*$)|(^.*\b(несовершеннолетн|малалет|подростков|малолет|детьми|детей|детск|педофи|ребен).*$)@';#cp
$pattern2 = '@(\b(4|5|6|7|8|9|10|11|12|13|14|15|16|17)\D+)|(\D+(4|5|6|7|8|9|10|11|12|13|14|15|16|17)\b)@';#cp
$pattern3 = '@(^.*\b(зоо|конь|кони|коня|собак|кошк|овцы|овцу|овец|животн|лошад).*$)@';#zoo
$deleted = array();
foreach ($file as $i => $key)
{
#если исходные ключевики в UTF-8
#if (preg_match($pattern, iconv('utf-8', 'windows-1251//IGNORE', trim($key))) || preg_match($pattern2, iconv('utf-8', 'windows-1251//IGNORE', trim($key))) || preg_match($pattern3, iconv('utf-8', 'windows-1251//IGNORE', trim($key))))
#если исходные ключевики в windows-1251
if (preg_match($pattern, trim($key)) || preg_match($pattern2, trim($key)) || preg_match($pattern3, trim($key)))
{
unset($file[$i]);
$deleted[] = trim($key);
}
#показывать каждый 1000-ый номер обработанной строки, чтобы видеть прогресс выполнения
if ($i % 1000 == 0)
{
echo $i.' ';flush();
}
}
$f = fopen('keys_clean.txt', 'w');
fwrite($f, implode('', $file));
fclose($f);
$f = fopen('keys_deleted.txt', 'w');
fwrite($f, implode("\n", $deleted));
fclose($f);
echo '<br><b>Удалено '.count($deleted).' плохих ключевиков</b>';
Регулярки предназначены для чистки адалт ключевиков.
Смешанные базы ими чистить не рекомендуется, ибо будет рубить много лишнего.