Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Problem bei Link-Erkennung im Text: Punkte am Ende
Frage
Hallo zusammen,
ich verwende den folgenden Code, um Links, die in Texten (= $data) vorhanden sind, klickbar zu machen. Problem: Auch Punkte, die nach der Adresse folgen, also am Ende der URL stehen, werden Teil der Links. Dies möchte ich nicht. Was muss ich dafür am RegExp-Code ändern?
$data = preg_replace("#([\n ]|[(])([a-z]+?)://([^,<> \n\r]+[/]*)#i", "\\1<a href=\"\\2://\\3\">\\2://\\3</a>", $data);
$data = preg_replace("#([\n ]|[(])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+[?!.]*[/]*)((?:/[^,)<> \n\r]*)?)#i", "\\1<a href=\"http://www.\\2.\\3\\4\">www.\\2.\\3\\4</a>", $data);
$data = preg_replace("#([\n ]|[(])([a-z0-9\-_.]+?)@([^,)<> \n\r]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $data);
Danke für eure Hilfe!!

