Zamian linków w tekście, korzystam z tego kodu. Jednak domeny zawierające myślnik (-) nie działają.
<?php $text = "Tekst zawierający linki httpdomenapl koniec tekstu. httpsdomenapl dalszy tekst."; $zmiana = preg_replace("&(.t+p.?:\/\/|w{3}\.)(w{3}\.)?([\w.-\/]+)[\n]?[/r]?& i", "<a href=\"http://$2$3\" target=\"_blank\">$2$3</a>", $text); ?>
Rozwiązanie:
<?php $text = "Tekst zawierający linki <a href="http://adre-asd-s.pl/podstrona" target="_blank">http://adre-asd-s.pl/podstrona</a> koniec tekstu. <a href="https://allegro.pl/" target="_blank">https://allegro.pl/</a> dalszy tekst."; $wpis = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $text); ?>