automatisch links erkennen mit preg_replace
jo
- php
0 Chrisi
hallo,
ich versuche mit folgendem script in einem text html links zu erstellen wo http://,https:// oder ftp:// vorkommen
$str='http://forum.de.selfhtml.org http://forum.de.selfhtml.org';
$pattern='-(http|https|ftp{1}://)(.*?)(\s)-';
$str=preg_replace($pattern,'<a href=$1$2>$1$2</a>$3',$str);
das funktioniert auch soweit aber ich hab ein problem mit dem leerzeichen am ende. bei dem string $str würde nur die erste url ersetzt. also url's die am ende stehen würden nicht in mein suchmuster passen. hat jemand eine ahnung wie ich mein suchmuster erweitern kann.
damit auch links am berücksichtigt würden.
"<a href=http://forum.de.selfhtml.org>http://forum.de.selfhtml.org</a> http://forum.de.selfhtml.org"
gruß
jo
Hi,
$output = preg_replace("/([\w]+://[\w-?&;#~=./@]+[\w/])/i","<a href="$1">$1</a>", $text);
das sollte passen ...
Gruß Chrisi ...