Ситуация такая:
Пишу свою систему тикетов для ЛК юзера. Принимаю текст сообщения от юзера,
преобразую вставленные ссылки в кликабельные и далее конвертирую html-теги в HTML сущности.
$text = preg_replace("/\b((http(s?):\/\/)|(www\.))([\w\.]+)([\/\w+\.]+)([\?\w+\.\=]+)([\&\w+\.\=]+)\b/i", "<a href=\"http$3://$4$5$6$7$8\" target=\"_blank\">$2$4$5$6$7$8</a>", $text);
$text = htmlspecialchars($text);
данные попадают в mysql БД
Когда в цикле вывожу сообщения, то прежде чем распечатать переменную $text я ее обрабатываю функцией htmlspecialchars_decode();
но к сожалению, открыв исходный код страницы со списком сообщений вижу:
<a href="https://vk.com/" target="_blank">https://vk.com/</a>
Разъясните, мне, тупому, почему обратно не конвертируются и как сделать кликабельными тогда ссылки?