Я работаю над проектом, в котором мне нужно заменить текстовые URL-адреса в любом месте от domain.com
до www.domain.com
до http(s)://www.domain.com
и адреса электронной почты на соответствующий тег html <a>
.В прошлом я использовал отличное решение, но оно теперь использовало устаревшую функцию eregi_replace
.Кроме того, регулярное выражение, используемое для такой функции, не работает с preg_replace
.
Таким образом, в основном, пользователь вводит сообщение, в котором может / не может содержать ссылку / адрес электронной почты, и яМне нужно регулярное выражение, которое работает с preg_replace
, чтобы заменить эту ссылку / электронное письмо ссылкой HTML, например <a href="link">link</a>
.
Обратите внимание, что у меня также есть несколько других preg_replaces.Ниже приведен мой текущий код для других замен.
$patterns = array('~\[@([^\]]*)\]~','~\[([^\]]*)\]~','~{([^}]*)}~','~_([^_]*)_~','/\s{2}/');
$replacements = array('<b class="reply">@\\1</b>','<b>\\1</b>','<i>\\1</i>','<u>\\1</u>','<br />');
$msg = preg_replace($patterns, $replacements, $msg);
return stripslashes(utf8_encode($msg));