Forum Webscript.Ru

Программирование => PHP => Тема начата: Adonis от 16 Ноября 2001, 11:34:01

Название: Как найти в тексте все e-mail и заменить их на соответствующие "mailto:"?
Отправлено: Adonis от 16 Ноября 2001, 11:34:01
Как найти в тексте все e-mail и заменить их на соответствующие "mailto:"? т.е. есть текст:
" Тра- ла -ла- ла mail@ttt.com еще текст, и еще текс mail2@ttt.com. Новое предложение, например..." его надо преобразовать в:
" Тра- ла -ла- ла mail@ttt.com еще текст, и еще текс mail2@ttt.com. Новое предложение, например..." Вобщем надо в произвольном тексте найти мэйлы и преобразовать их в ссылки. Кто-нить знает как такое сделать?
Название: Как найти в тексте все e-mail и заменить их на соответствующие "mailto:"?
Отправлено: Макс от 16 Ноября 2001, 16:29:06

$a=" Тра- ла -ла- ла [email]mail@ttt.com[/email] еще текст, и еще текс [email]mail2@ttt.com[/email]. Новое предложение, например...";
$b = ereg_replace("([_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3})","\\\\1", $a);
echo $b;
?>
Название: Как найти в тексте все e-mail и заменить их на соответствующие "mailto:"?
Отправлено: Макс от 16 Ноября 2001, 16:36:11
Цитировать
"\\1",



Что-то форум обрезал слеши.
Перед единицами должно быть 2 слеша
Название: Как найти в тексте все e-mail и заменить их на соответствующие "mailto:"?
Отправлено: Britva от 16 Ноября 2001, 16:41:13
имхо надо лучше eregi_replace, а то введет кто-нить Mail@vasya.Ru и не обработает такой
Название: Как найти в тексте все e-mail и заменить их на соответствующие "mailto:"?
Отправлено: Adonis от 16 Ноября 2001, 16:59:36
спасибо за помощь.