[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выделить из строки email-подстроку
Turboworld1
Приветствую!

Интересует такой вопрос. Допустим у нас есть строка $srt, в ней ВОЗМОЖНО есть подстрока с символом @ (тобишь, email), нам ее нужно как-то найти и ЗАМЕНИТЬ на новую строку. Вопрос - как? smile.gif

Желательно это было бы сделать без использования регулярных выражений, т.к. в них еще не ориентируюсь совсем, как китайская грамота для меня. Хорошо бы функцию explode заиспользовать smile.gif

Объясню зачем нужно выцеплять email: юзер заполняет поле "Контактная информация", а мы ее должны опубликовать, защитив email от спама smile.gif Фукнцию защиты мыла от спама я уже приготовил. Ей только нужно на вход подать само мыло. А для этого его нужно предварительно вытащить...



Спустя 19 минут, 50 секунд (6.02.2011 - 00:56) Dron19 написал(а):
конкретную строку приведи

Спустя 2 минуты, 22 секунды (6.02.2011 - 00:58) Dron19 написал(а):
из которой нужно мыло забрать

Спустя 4 минуты, 12 секунд (6.02.2011 - 01:02) Invis1ble написал(а):
explode() здесь не причем. Только через регулярки

Спустя 3 минуты, 39 секунд (6.02.2011 - 01:06) Dron19 написал(а):
короче пусть сам делает, раз ему пытаются помочь, а он молчит

Спустя 7 минут, 49 секунд (6.02.2011 - 01:14) Dron19 написал(а):
последний раз спрашиваю, покажи свою строку и скажи, что ты хочешь из нее получить?

Спустя 19 минут, 43 секунды (6.02.2011 - 01:33) Turboworld1 написал(а):
Сорри, не видел, что ответили мне...

Пример например такой:

Координаты для связи:
icq 1234567,
email: admin@admin.com,
телефон 123-45-67.


А нужно выцарапать отсюда admin@admin.com ну и заменить затем на вывод функции, например такой antispam('admin@admin.com');

Как-то так... unsure.gif

P.S.: Как вариант - можно разбить весь текст на 3 подстроки - строка ДО мыла, само мыло и строка ПОСЛЕ мыла. А затем все склеить, заменив мыло (функция antispam у меня уже есть).

Спустя 6 минут, 30 секунд (6.02.2011 - 01:40) Invis1ble написал(а):
Могу тебе показать пример, а ты учи регулярки, чтоб понять как он работает:
preg_match_all('#[\pL\pN-]+(\.[\pL\pN-]+)*@\pL+(\.[\pL\pN-]+)*\.[\pL]{2,6}#iu', $text, $matches);
var_dump($matches);

Спустя 3 минуты, 25 секунд (6.02.2011 - 01:43) Turboworld1 написал(а):
А что этот пример делает-то? blink.gif

Спустя 7 минут, 49 секунд (6.02.2011 - 01:51) Invis1ble написал(а):
Turboworld1
а ты запусти этот код, предварительно записав в переменную $text текст с адресами e-mail и сам увидишь wink.gif

Спустя 4 минуты, 3 секунды (6.02.2011 - 01:55) Turboworld1 написал(а):
Записал:

$text='Координаты для связи:
icq 1234567,
email: admin@admin.com,
телефон 123-45-67.
'
;

preg_match_all('#[\pL\pN-]+(\.[\pL\pN-]+)*@\pL+(\.[\pL\pN-]+)*\.[\pL]{2,6}#iu', $text, $matches);
var_dump($matches);


Вывелось:
array(3) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } }

Что я мог из этого понять? :blink: ( <-- что-то смайлы перестали отображаться)

Спустя 6 минут, 31 секунда (6.02.2011 - 02:02) Invis1ble написал(а):
Turboworld1
сохрани скрипт в кодировке utf-8. Регулярка на юникод рассчитана

Спустя 19 часов, 7 минут, 55 секунд (6.02.2011 - 21:09) Turboworld1 написал(а):
Блин... Не хочется мне из-за одной маленькой функции пересохранять все страницы сайта в utf-8... можно так поиметь гемор с кодировками в добавлении в БД, да и с выводом тоже...

Других-то вариантов нет? smile.gif

Спустя 7 минут, 5 секунд (6.02.2011 - 21:17) two написал(а):
Turboworld1
Больше будет этого если оставишь всё как есть...

Кодировка utf-8 на данный момент самая оптимальная!

Спустя 2 минуты, 49 секунд (6.02.2011 - 21:19) Snus написал(а):
Turboworld1

$text='Координаты для связи:
icq 1234567,
email: admin@admin.com,
телефон 123-45-67.
'
;

$text = iconv('Windows-1251', 'UTF-8', $text);

preg_match_all('#[\pL\pN-]+(\.[\pL\pN-]+)*@\pL+(\.[\pL\pN-]+)*\.[\pL]{2,6}#iu', $text, $matches);
var_dump($matches);

Спустя 11 дней, 19 часов, 47 минут, 50 секунд (18.02.2011 - 17:07) Turboworld1 написал(а):
Опробовал последний код - выдает три результата, два из которых ПУСТЫЕ...

=/
Быстрый ответ:

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