[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как удалить в строке url (типа mysite.com) но оста
webus
Не могу разобраться как удалить из строки url (которые могут быть записаны как угодно: http://www.mysite.com или www.mysite.com или mysite.com), но при этом оставить email

Пробую таким образом:
$Text = ereg_replace("[0-9A-Za-z_\.\-]+\.[A-Za-z]{2,6}", "", $Text);
Удаляются все что похоже на mysite.com
НО email (например: email@mysite.com) не сохраняется а обрезается : email@

Может кто нибудь помочь?



Спустя 19 часов, 23 минуты, 46 секунд (3.01.2009 - 16:14) Grazor написал(а):
Вот мой код:
PHP
//Просто строка для проверки
$text = 'www.site.net sitE.com hTtp://site.my1.Ru me@mail.net site.net/?act=remove my-site.org.ru';
//я буду использовать Perl-совместимые рег выражения
$text = preg_replace('/(^|\s)(http:\/\/)?(www\.)?[-0-9a-z._]*\.[-0-9a-z]{2,6}(\/[-0-9a-z_?.%&#=\/]*)?/i', "$1[спамер! кыш :-p]", $text);
//удалил этот длинный-длинный комментарий%)
echo $text;


после адреса через / могут идти данные, передаваемые методом GET, ссылки на якоря #top, адреса файлов ect. Ну и пример: www.spamers.ru/send.php/?act=send&to=all&base=runet - по этой ссылке НЕ ходим: она написана от балды, а открывается какой-то сайт, который мой браузер блокирует
он просто рассматривает последнюю часть adress@mail.ru как отдельный кусок. я же заставляю его смотреть либо с начала строки, либо с пробельного символа, а в конечной строке возвращаю украденный символ $1

тестим -> тут <-

могу подробно рассказать принцип работы, если надо

Спустя 1 день, 20 часов, 21 минута, 47 секунд (5.01.2009 - 12:36) Grazor написал(а):
ещё, по-хорошему, надо добавить " в
Код
(^|\s)

то етсь так
Код
(^|\s|")

Спустя 1 год, 18 дней, 9 часов, 11 минут, 1 секунда (23.01.2010 - 21:47) webus написал(а):
Для удаления URL из данных использую такое рег. выражение:
$Contactinfo = preg_replace("#( |\n|^)(http://)?[0-9a-z_.-/]+?[^@][0-9a-z_.-/]+\.[a-z]{2,4}#is", "", $Contactinfo);

Под фильтр попадают некоторые emailы, содержащие точку. Например, от urma.sell@urmashop.ru после фильтра остается @urmashop.ru

Не могу разобраться как сделать так чтобы фильтр не трогал emailы, содержащие точку.

Может быть кто-то знает?
Быстрый ответ:

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