Ich benutze aus dem PHP FAQ folgenden regulären Ausdruck zum ersetzen von URIs in Texten durch klickbare Links.
Ein Problem dabei sind aber viel zu lange Links, die dann das ganze Layout der Seite sprengen.
Ich suche daher eine Option, die geschriebenen Links nach einer bestimmten Länge abzubrechen. Die URL im href soll dabei natürlich unverändert bleiben.
Ein Problem dabei sind aber viel zu lange Links, die dann das ganze Layout der Seite sprengen.
Ich suche daher eine Option, die geschriebenen Links nach einer bestimmten Länge abzubrechen. Die URL im href soll dabei natürlich unverändert bleiben.
PHP:
function replace_uri($str) {
$pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
return preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$str);
}