public function replaceLink(){
$text = 'Здесь ссылка должна быть в теге <a> https://example.ru/ru/task#348141 конец текста' //Ссылка для примера
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
$pos = strpos($text, '<a href');
if(preg_match($reg_exUrl, $text, $url) && $pos === false) {
$text = preg_replace($reg_exUrl, "<a href='$url[0]' target='_blank'>$url[0]</a>", $text);
}
return Response()->json($text, 200);
}
public function replaceLink(){
$text = 'Здесь ссылка должна быть в теге <a> https://example.ru/ru/task#348141 конец текста' //Ссылка для примера
$reg_exUrl = "/(http|https|ftp|ftps)(\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3})(\/[^#]*)(#(\S*))*/";
$pos = strpos($text, '<a href');
if(preg_match($reg_exUrl, $text, $url) && $pos === false) {
$text = preg_replace($reg_exUrl, "<a href='".$url[1].$url[2].$url[3]"' target='".$url[5]."'>$url[0]</a>", $text);
}
return Response()->json($text, 200);
}
%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu
<?php
$str = 'Здесь ссылка должна быть в теге <a> https://example.ru/ru/task#348141 конец текста';
$re = '%(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}'.
'|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)'.
'(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)'.
'*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?%usi';
$result = preg_replace($re, '<a href="$0" target="_blank">$0</a>', $str);
var_dump($result);
//string(167) "Здесь ссылка должна быть в теге <a> <a href="https://example.ru/ru/task#348141" target="_blank">https://example.ru/ru/task#348141</a> конец текста"