Hi!
Es tut mir Leid aber ich bekomme es nicht hin:
$url=preg_replace('"#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is"',$b->shorten(preg_replace_callback('"#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is"',$t)),$t);
Du schachtelst hier wild Dinge ineinander. Hast du dir mal die Beschreibungen inklusive der Anwendungsbeispiele der Funktionen im Handbuch angeschaut?
Wenn du foo(bar(42)) schreibst, wird zuerst bar(42) ausgeführt und das Ergebnis davon bildet den Parameterwert für foo().
Warum rahmst du das Muster noch einmal in '' ein, obwohl es schon in "" steht? Die "" sind damit Bestandteil des Musterstrings. Die äußeren Zeichen eines Musters sind die Musterbegrenzer. Die "" sind also die Musterbegrenzer und das # am Anfang sowie das #is am Ende sind nun normale Zeichen innerhalb des Musters.
Bitte schau dir die Grundlagen an und probiere nicht einfach sinnlos drauf los. Ich werde bei Verständnisproblemen helfen, aber nicht einfach so die Lösung aufschreiben.
Lo!