Я хотел бы сделать URL-адреса внутри текстового вывода кликабельными без необходимости экранирования всего вывода.Сначала я хотел сделать это следующим образом, , но мне пришлось бы избежать всех выходных данных, представляющих угрозу безопасности .
function formatContent($content)
{
$url_filter_protocol = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
$url_filter_www = "/(www)\.[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
if (preg_match($url_filter_protocol, $content, $url)) {
return preg_replace($url_filter_protocol, "<a href='$url[0]' target='_blank'>$url[0]</a> ", $content);
} elseif (preg_match($url_filter_www, $content, $url)) {
return preg_replace($url_filter_www, "<a href='https://$url[0]' target='_blank'>$url[0]</a> ", $content);
} else {
return $content;
}
}
{!! nl2br(formatContent($post->content)) !!}
Кто-нибудь знает, как я могконвертировать URL-адреса в строки без необходимости перехода к целому выводу ?