Hallo!
Ich finde die Funktion irgendwie überladen: Wieso gleich ZWEI reguläre Ausdrücke, für das Finden eines Links?
Naja, aber der reguläre Ausdruck "findet" ja den Link, somit kannst du ihn kürzen.
Mein Vorschlag:
Code:
function makeurl($link)
{
$
url = '<a href="' . $link . '" target="_blank" title="' . $link . '">';
$
url .= ( strlen($link) > 15 ) ? substr($link, 0, 13) . '...' : $link;
$
url .= '</a>';
return $
url;
}
$string = 'Schau mal auf http://www.delphipraxis.net/! Dort findest du, was du brauchst.';
$string = preg_replace('/(\\b(https?|
ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ie', 'makeurl(\'\\1\')', $string);
echo $string;
Vl. kannst du damit was anfangen.
Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian