Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Написание шаблона адреса почты для функции preg_ replace(php)

10K
06 октября 2006 года
Dennn
46 / / 23.08.2006
Нужно сделать фильтр чтоб вырезал любые почтовые адреса:
 
Код:
$text = preg_replace($search,$replace, $text);

$replace="";
$search="??";
есть набросок $search="'@[^>]+?.*'is"; удаляет весь адрес после собаки и включая её, а вот до собаки никак не могу удалить все буквы. Не силён я в написании шаблонов :(
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
google.com
и поиск по форуму
337
06 октября 2006 года
shine
719 / / 09.06.2006
define("EMAIL_VALID_REGEXP", "/^([-_.!#\$%&a-z\d])+@([-_!#\$%&a-z\d]+\.)+[a-z]{2,4}$/i");
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=shine]define("EMAIL_VALID_REGEXP", "/^([-_.!#\$%&a-z\d])+@([-_!#\$%&a-z\d]+\.)+[a-z]{2,4}$/i");[/QUOTE]
Сдается мне что этот регэксп кривой! А где вы встречали знак подчеркивания в адресах? и как в таком случае быть с доменной зоной .travel?

Предлагаю автору не брать этот регэксп, а занятся все же поиском - выбрать из всех вариантов найденных тот который будет нормально работать со всеми емейлами
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
И кстати... почему автор не пробовал искать решение проблемы НА САЙТЕ РНР????

http://ru.php.net/manual/en/function.preg-match.php
http://ru.php.net/manual/en/function.preg-match-all.php
8
06 октября 2006 года
mfender
3.5K / / 15.06.2005
Действительно. И, если кто ещё помнит, всё ещё никто не отменял мылы, типа [email]name.surname@subdomain.domain.dom[/email]
10K
06 октября 2006 года
Dennn
46 / / 23.08.2006
нашёл конструкцию, которая удаляет мыло перед @, итак вся конструкция такая:
"'[\\w_\\.\\-]+@[^>]+?.*'is"
Ну как?
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Dennn]нашёл конструкцию, которая удаляет мыло перед @, итак вся конструкция такая:
"'[\\w_\\.\\-]+@[^>]+?.*'is"
Ну как?[/QUOTE]
А сам как думаешь?
10K
06 октября 2006 года
Dennn
46 / / 23.08.2006
удаляет само мыло и всё что после него :(
Ну незнаю, товарищи какой смысл в поиске, я всё равно бездумно сдеру просто после долгих поисков, а так кто знает написал бы.
Вот логику этого я ещё хоть как-то понимаю:@[^>]+?.*
Но вот это я понимать отказываюсь: [\\w_\\.\\-]!
Чё значит двойной слэш хз в документации не нашёл!
8
06 октября 2006 года
mfender
3.5K / / 15.06.2005
Двойной слэш - это квотирование самого слэша.
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Dennn]
Ну незнаю, товарищи какой смысл в поиске, я всё равно бездумно сдеру просто после долгих поисков, а так кто знает написал бы.
[/QUOTE]
А взять протестировать на разных мылах не судьба?
10K
06 октября 2006 года
Dennn
46 / / 23.08.2006
Вот, ОТЦЫ, собрал я такой шаблон из различных шаблонов вот он:
"%(([\\w_\\.\\-]+@)[^\s]+?)(.*)%isU"
Но своими указаниями "ф поезг" всё равно вы не добились главной цели: "ничё нового я не узнал и уж тем более не понял принципа написания сложных шаблонов"!!!
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Dennn]Вот, ОТЦЫ, собрал я такой шаблон из различных шаблонов вот он:
"%(([\\w_\\.\\-]+@)[^\s]+?)(.*)%isU"
Но своими указаниями "ф поезг" всё равно вы не добились главной цели: "ничё нового я не узнал и уж тем более не понял принципа написания сложных шаблонов"!!![/QUOTE]
А ты не пробовал последовать совету? ты даже не посмотрел те ссылки что я тебе привел. Зачем ВООБЩЕ спрашивать на форуме если ты не читаешь ответы?
337
06 октября 2006 года
shine
719 / / 09.06.2006
[QUOTE=RussianSpy]Сдается мне что этот регэксп кривой! А где вы встречали знак подчеркивания в адресах?[/QUOTE]
А где вы встречали запрет на знак подчеркивания в адресах? :)
Цитата:
и как в таком случае быть с доменной зоной .travel?


Если это так важно, то можно поменять 4 на 6 и всех делов.

16K
06 октября 2006 года
sav13
21 / / 01.10.2006
А не проще адрес E-mail при помощи split() по '@' поделить на две части - одну проверить на правильный домен в INTERNETе, а со второй уже извращаться с REGEXP.

Или это экзамен на написание регулярных выражений? :)
13
06 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=sav13]А не проще адрес E-mail при помощи split() по '@' поделить на две части - одну проверить на правильный домен в INTERNETе, а со второй уже извращаться с REGEXP.

Или это экзамен на написание регулярных выражений? :)[/QUOTE]
нет. это конкурс на идиотские идеи. пока ты лидируешь
8
06 октября 2006 года
mfender
3.5K / / 15.06.2005
:D

2Автор: http://www.php.net/manual/ru/reference.pcre.pattern.syntax.php - самое приятное для прочтения по регулярным выражениям вообще. Рекомендую. Собирать не надо. Не поленись почитать и поэкскрементировать.
10K
06 октября 2006 года
Dennn
46 / / 23.08.2006
Читал я как раз ваш гугль, нашёл там кое-что, на форуме вопще нифига не было, яж говорю собрал я этот шаблонн из разных кусочков, которые в инете отрыл, вот он:
"%(([\\w_\\.\\-]+@)[^\s]+?)(.*)%isU"
8
06 октября 2006 года
mfender
3.5K / / 15.06.2005
"%(([\\w_\\.\\-]+@)[^\s]+?)(.*)%isU" - ахинея какая-то. Это не для мыла вообще. И в чём-то противоречит вообще синтаксису regexp.
15
06 октября 2006 года
shaelf
2.7K / / 04.05.2005
Качаешь с сайта http://framework.zend.com фрэймворк (пригодится), там есть класс с фильтрами. Смотришь (или просто юзаешь) и понимаеш.
2
06 октября 2006 года
squirL
5.6K / / 13.08.2003
ребята, вы тут что, конкурс obfuscated PHP проводите? 8-0
8
06 октября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=squirL]ребята, вы тут что, конкурс obfuscated PHP проводите? 8-0[/QUOTE]
Речь идёт об regexp, поэтому принципиальной разницы в языках/средах применения нет... ;)
10K
10 октября 2006 года
Dennn
46 / / 23.08.2006
[QUOTE=mfender]"%(([\\w_\\.\\-]+@)[^\s]+?)(.*)%isU" - ахинея какая-то. Это не для мыла вообще. И в чём-то противоречит вообще синтаксису regexp.[/QUOTE]
Да, но прикол в том, что работает на ура!!!
2
10 октября 2006 года
squirL
5.6K / / 13.08.2003
а вот так?
 
Код:
\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}

попроще, ИМХО
8
10 октября 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Да, но прикол в том, что работает на ура!!!



А с таким мылом: [EMAIL="name.surname@subdomain.domain.sone"]name.surname@subdomain.domain.sone[/EMAIL] будет? ;)

2
10 октября 2006 года
squirL
5.6K / / 13.08.2003
если это ты мне, то да, будет. правда я в своем образце других полтыщи багов нашел :)
8
10 октября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=squirL]если это ты мне, то да, будет. правда я в своем образце других полтыщи багов нашел :)[/QUOTE]
Нет, я про это
10K
11 октября 2006 года
Dennn
46 / / 23.08.2006
[QUOTE=mfender]Нет, я про это[/QUOTE]
да хоть [email]name.surname@subdomain.domain.abra[/email]cadabra - хавает только в путь. Вот с этой частью всё понятно: [^\s]+?)(.*), она убирает всё что после @, а вот эту часть, которая убирает всё до неё (([\\w_\\.\\-]+@) я в инете отрыл, и вопще не понимаю как она работает, а выделение этого хозяйства % я тоже никак не догоняю, тоже откуда-то скомуниздил... :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог