Черный список телефонов для доски объявлений


Понадобилось добавить на городскую доску частных объявлений фильтр запрещающий некоторые номера. Решение получилось такое:

function f_ltrim($v) { return ltrim($v, '38'); }

function check_phone($text1){
	$phone_black_list = array_map('trim', file("ban_phone_list.txt"));
	
	preg_match_all('/\+?[0-9][\d-\()-\s+]{5,15}[1-9]/', $text1, $matches);
	$numbers = preg_replace('/[^0-9]/', '', $matches[0]);
	$numbers = array_map('f_ltrim', $numbers);
	// var_dump($phone_black_list);
	// var_dump($numbers);

	$c = 0;
	foreach ($phone_black_list as $v)
		if (in_array($v, $numbers))
			$c++;
	// echo "Результат: ".$c;
	// if($c > 0) echo "BAN";
	return $c;
}

и делаем проверку в нужном месте в коде:

if(check_phone($ads_text) > 0) { echo"<script>alert('Данный номер телефона добавлен в черный список и запрещен к публикации!')</script>"; unset($ads_text); }

далее рядом с скриптом создаем текстовый файл ban_phone_list.txt в который заносим список запрещенных к публикации номеров телефонов. формат - каждый номер с новой строки. функция сделана под украинских операторов мобильной связи, т.ч. из телефонов в начале вырезается код +38