Понадобилось добавить на городскую доску частных объявлений фильтр запрещающий некоторые номера. Решение получилось такое:
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); // var_dump($phone_black_list);
// var_dump($numbers);
$c = 0;
foreach ($phone_black_list as $v)
$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