Chciałbym Was poprosić o pomoc w zastosowaniu wyrażeń regularnych do zamiany tekstu na link.
Moja sytuacja jest taka, że user ustawia sobie status, w którym może dodać linka.
Przed zapisem do bazy zbędne znaki są usuwane i zostaje sam tekst.
I teraz user może podać 3 różne rodzaje linków:
1. http://www.php.pl
2. http://php.pl
3. www.php.pl
Przy wyświetlaniu wyciągam sobie z bazy statusy i zamieniam je na linki, w ten sposób:
$status = $st['statusContent'] $newstatus = preg_replace("/(http:\/\/[^\s]+)/", "<a href=\"$1\" target=\"_blank\" rel=\"nofollow\">$1</a>", $status); $newstatus = preg_replace("/(www.[^\s]+)/", "<a href=\"http://$1\" target=\"_blank\" rel=\"nofollow\">$1</a>", $newstatus); $newstatus = preg_replace("/(http:\/\/www.[^\s]+)/", "<a href=\"$1\" target=\"_blank\" rel=\"nofollow\">$1</a>", $newstatus);
Problem polega w tym, że to się krzaczy i wyświetla mi jakieś bzdury.
Będę bardzo wdzięczy za pomoc.
Z góry dziękuję i pozdrawiam,
Bartek.