| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Найти и вырезать е-маилы из текста. |
| Автор: Wowa 25.3.2005, 13:13 |
| Есть некоторый текст (небольшой). Нужно найти в нем все е-маилы, вырезать их и добавить в массив. Как это сделать? |
| Автор: skalex 25.3.2005, 17:03 | ||||
Возможно поможет это:
Результат:
|
| Автор: Mal Hack 25.3.2005, 17:10 | ||
В качестве рэга могу еще предложить:
|
| Автор: skalex 25.3.2005, 17:16 | ||
Mal Hack, я немного доработал твой regexp, чтобы не захламлять выходной массив:
|
| Автор: Mal Hack 25.3.2005, 17:21 |
| Э |
| Автор: skalex 25.3.2005, 17:30 | ||||||
Результат до
после
|
| Автор: Wowa 25.3.2005, 18:00 |
| Так.. а какой регексп лучше использовать? |
| Автор: skalex 25.3.2005, 18:31 |
| Admin, а какой regexp тебе больше нравится ? Принципиально, особой разницы нет ... |
| Автор: Mal Hack 25.3.2005, 19:48 | ||||
Ну в принципе можно и по пробелам вырезать. Я тут кстати подумал, наилучший вариант - объединить два рэга
|
| Автор: skalex 28.3.2005, 09:38 | ||||
| Mal Hack, ты в своем последнем regexp-е забыл круглую скобку поставить в начале. И зачем писать вещи типа [A-Z0-9]{1}, если [A-Z0-9] уже означает 1 любой символ от A до Z или любая цифра от 0 до 9 ? А также зачем {1,}, если можно написать + ?
Что ты имеешь в виду ? |
| Автор: Mal Hack 28.3.2005, 11:19 | ||||||
Можно вообще опустить
\s[^\s]+@[^\s]
Вечером сяду додумаю до конца. В примнципе ты прав. |
| Автор: skalex 28.3.2005, 11:46 | ||||
Блин, регулярные выражения можно бесконечно составлять...
ИМХО самое короткое регулярное выражение:
|
| Автор: Mal Hack 28.3.2005, 14:26 | ||
А че это за фишка такая? |
| Автор: skalex 28.3.2005, 15:49 | ||||
\b - претензия "на границе слова". |
| Автор: IZ@TOP 28.3.2005, 18:27 | ||
То есть? |
| Автор: Mal Hack 28.3.2005, 18:35 | ||
Что-то вроде "не буква" или "конец слова" |
| Автор: skalex 28.3.2005, 19:18 | ||||
Ну да, как бы строго начало (или конец) слова... Т.е. шаблон не может например соприкасаться с цифрой. Т.е. %\b[abc]+\b% не удовлетворяет 123abc456, но будет удовлетворять 123 abc 456. С помощью этой претензии удобно искать слова. |