Всем здравствуйте, может кто усовершенствует данные патэрны при условии что в тексте надо выделить приблизительно такой текст, а именно подставить тэги для ссылок: "Привет, зайди на сайт google.ru или google.com или напиши мне google@google.com" У меня получилось это сделать только в два прогона: PHP: $buffer = "Привет, зайди на сайт google.ru или google.com или напиши мне [email=google@google.com]google@google.com[/email]"; $buffer = preg_replace('/(\w[\w\-\.\:\#\%\/\[\]\$\&\_\?]+\@\w[\w\-\.\:\#\%\/\[\]\$\&\_\?]+\.+[a-z]{2,3})/i', '<a href =mailto:$0> $0</a>', $buffer); $buffer = preg_replace('/(\w[\w\-\.\:\#\%\/\[\]\$\&\_\?]+\.[a-z]{2,3}\s)/i', '<a href="http://$0" target=_blank>$0</a>', $buffer); print $buffer; Но есть один минус после "сайт-ссылки" должен быть обязательно пробел. По другому решить проблему не удалось. Первый прогон выделяет все ссылки на почту а второй прогон выделяет все остальные ссылки. Кстати можно на этой основе сделать дополнительные прогоны которые позволят писать ссылки как хочеш т.е. надо убить ненужные дубляжи. Допустим так, чтоб сильно не парится: PHP: $buffer= str_replace ('http://http://','http://',$buffer); $buffer= str_replace ('http://ftp://','ftp://',$buffer); и т.д. [/php]