[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление ссылок
den003
Здравствуйте Уважаемые гуру помогите допилить скрипт. что бы он удалял такие ссылки без https и http Пример site ru, site ru, site(точка)ru и подобные.

Проще говоря, что бы распознавал все спамерские ссылки по максимуму, которые используют спамеры.


function disdesk_noLinks($item, $add_span = true){
return preg_replace('/(((https?|ftp):\/\/)?(([a-zа-я0-9\-_])+\.)+(ru|com|net|рф|it|su|sk|tv|me|org|gl|cc|biz|info|name|pro|ly|us|uk|cn|br|ua|by|am|kz|uz|

укр|cc)(\/[a-z0-9а-я_\.\-]*[a-z0-9а-я_\-])*\/?(\?[^ <\n]*[^,. \)<\n])?(#[^ <\n]*[^,. \)<\n])?)/iu'
, '', $item);
if ($add_span)
return preg_replace('/(((https?|ftp):\/\/)?(([a-zа-я0-9\-_])+\.)+(ru|com|net|рф|it|su|sk|tv|me|org|gl|cc|biz|info|name|pro|ly|us|uk|cn|br|ua|by|am|

kz|uz|укр|cc)(\/[a-z0-9а-я_\.\-]*[a-z0-9а-я_\-])*\/?(\?[^ <\n]*[^,. \)<\n])?(#[^ <\n]*[^,. \)<\n])?)/iu'
, '<span class="nolinks">Ссылка удалена</span>',

$item);
else
return
preg_replace('/(((https?|ftp):\/\/)?(([a-zа-я0-9\-_])+\.)+(ru|com|net|рф|it|su|sk|tv|me|org|gl|cc|biz|info|name|pro|ly|us|uk|cn|br|ua|by|am|

kz|uz|укр|cc)(\/[a-z0-9а-я_\.\-]*[a-z0-9а-я_\-])*\/?(\?[^ <\n]*[^,. \)<\n])?(#[^ <\n]*[^,. \)<\n])?)/iu'
, 'Ссылка удалена', $item);
}
den003
Народ помогите laugh.gif laugh.gif laugh.gif
inpost
den003
Это делается иначе, сначала пишется т/з, то есть варианты ссылок, а дальше работается с ними.
"site ru". Я из РФ. Авось я хотел сказать http://из.рф ? Как тут быть? Просто удалять всё подряд не вариант же, затрёшь всё полезное .

Где именно использовать будешь? Опиши задачу, может проще фильтр добавить, чтобы в админке зависали сообщения для модерации? Или добавь каптчи, чтобы боты не спамили.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
McLotos
Цитата (inpost @ 10.01.2015 - 03:39)
Я из РФ. Авось я хотел сказать http://из.рф ?

я тоже еще вчера подумал, а что если например ник будет mclotos.ru, его тоже затирать?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.