За последние 24 часа нас посетили 17594 программиста и 1312 роботов. Сейчас ищут 1006 программистов ...

ЭмайЛ ДетектеД

Тема в разделе "Регулярные выражения", создана пользователем rs_ssh, 20 июл 2015.

  1. rs_ssh

    rs_ssh Активный пользователь

    С нами с:
    18 янв 2014
    Сообщения:
    220
    Симпатии:
    0
    Done!

    модераторъ восстановил из кеша:
    Данная регулярка находит э-майл адрес в тексте:

    Код (Text):
    1. if (preg_match("^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]+$^", $text))
    2. {
    3.         echo "detected!";
    4. }
    Но если в тексте заключить э-майл в скобки, то регулярка не находит:
    Бла бла бла ... (my@email.com) ... бла бла бла.

    Подскажите более совершенную регулярку.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    регулярка твоя реальное говно.

    filter_var($text, FILTER_VALIDATE_EMAIL)

    Добавлено спустя 4 минуты 8 секунд:
    хотя лично я считаю достаточной проверку substr_count($text, '@') == 1.

    нафиг не нужны "правильные" алгоритмы. если чувак ввел неверный емайл, он не сможет получать письма, в т.ч. с активацией или восстановлением пароля. сам себе враг.

    http://habrahabr.ru/post/175375/
     
  3. rs_ssh

    rs_ssh Активный пользователь

    С нами с:
    18 янв 2014
    Сообщения:
    220
    Симпатии:
    0
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ты не понял про filter_var()?
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    какой стеснительный! потер всё. и наверняка винит нас в своём якобы "позоре".

    дружище! не стыдно чего-то не знать или не понять с первого раза. стыдно выдавать себя за того, кем не являешся.