Регулярные выражения для замены на теги

Замена URL, e-mail и текста на HTML-теги по регулярному выражению PHP.

В анкорах сформированных ссылок не будет http:// и GET параметров.

$text = '
	http://webmaster.yandex.ru/?hash=234&time=1 
	http://www.google.ru text.
';

echo preg_replace(
	'/(http:\/\/|https:\/\/)?(www)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-\?\%\&]*)?/i', 
	'<a href="\1\2\3.\4$5">\\2\\3.\\4</a>', 
	$text
);
PHP
<a href="http://webmaster.yandex.ru/?hash=234&time=1">webmaster.yandex.ru</a>
<a href="http://www.google.ru">www.google.ru</a>
$text = 'admin@Mail.ru admin@ya.ru';

echo preg_replace(
	'/([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+([a-z]{2,6})/i', 
	'<a href="mailto:\\0">\\0</a>', 
	$text
);
PHP
<a href="mailto:admin@Mail.ru">admin@Mail.ru</a> <a href="mailto:admin@ya.ru">admin@ya.ru</a>
$text = '#HTML #CSS #JQuery';

echo preg_replace(
	'/\#(.*?)(\s|$)/', 
	'<a href="#$1">#$1</a>$2',  
	$text
);
PHP
<a href="#HTML">#HTML</a> <a href="#CSS">#CSS</a> <a href="#JQuery">#JQuery</a>

Замена специальных символов на теги, к примеру, как сделано в Whatsapp – сообщение *текст* отправится как текст. Также можно сделать в PHP:

$text = 'Быстрый выкуп *оригинальных катриджей* по лучшим *ценам*';

echo preg_replace(
	'/\*(.*?)\*/', 
	'<b>$1</b>',  
	$text
);
PHP
Быстрый выкуп <b>оригинальных катриджей</b> по лучшим <b>ценам</b>
$text = 'Быстрый выкуп #оригинальных катриджей#';

echo preg_replace(
	'/\#(.*?)\#/', 
	'<a href="http://example.com">$1</a>',  
	$text
);
PHP
Быстрый выкуп <a href="http://example.com">оригинальных катриджей</a>
09.08.2019, обновлено 03.10.2019
4633

Комментарии

, чтобы добавить комментарий.

Другие публикации

Contenteditable – текстовый редактор
Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а...
38884
+33
Описание мета-тегов
В статье представлены все самые встречающеюся мета-теги с примерами и пояснениями их использования.
22675
+3
Whois, как получить данные IP-адреса и домена в PHP
Несколько примеров как в PHP получить информацию о домене и IP-адресе.
17274
+4
PHP транслит
PHP функции для перевода текста, ЧПУ, ссылок и имен файлов в транслит.
35854
+8
Загрузка файлов на сервер PHP
В статье приведен пример формы и php-скрипта для безопасной загрузки файлов на сервер, возможные ошибки и рекомендации при работе с данной темой.
66812
+20
Как прочитать SSL сертификат из PHP
SSL сертификат можно получить с помощью контекста потоков (Stream Context), а разобрать его поможет функция...
5739
+6