deb_ugger
Erfahrenes Mitglied
Hallo!
Ich habe da folgendes Problem: Ich möchte eine von einem Benutzer gepostete URL klickbar machen. Sollte die URL > 30 Zeichen haben, sollte sie gekürzt werden.
An sich funktioniert das Script, es wird auch eine Unterfunktion trimLinks() aufgerufen, jedoch funktioniert dort das substr nicht. Keine Ahnung warum. Kann mir da jemand weiterhelfen? Danke!
Ich habe da folgendes Problem: Ich möchte eine von einem Benutzer gepostete URL klickbar machen. Sollte die URL > 30 Zeichen haben, sollte sie gekürzt werden.
An sich funktioniert das Script, es wird auch eine Unterfunktion trimLinks() aufgerufen, jedoch funktioniert dort das substr nicht. Keine Ahnung warum. Kann mir da jemand weiterhelfen? Danke!
PHP:
<?php
function trimLinks($url) {
$shorturl = $url;
if(strlen($url)>30) {
$shorturl = substr($url, 0, 30);
}
return "<i>".$shorturl."</i>";
}
function makeClickableLinks($text) {
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)','<a href="\\1">'.trimLinks("\\1").'</a>', $text);
$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)','\\1<a href="http://\\2">'.trimLinks("\\2").'</a>', $text); // \\2
$text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})','<a href="mailto:\\1">\\1</a>', $text);
return $text;
}
echo makeClickableLinks("<strong>X</strong>Das ist ein Testtext www.heise.de/newsticker/foren/S-Wem-ist-auch-aufgefallen/forum-135972/msg-14775905/read/<br /> dazwischen wieder ein weiterer text eine.email@domain.com und noch wein wenig Text...");
?>