$xNeTworKx: reg. Expr funktioniert nicht ganz richtig.

Beitrag lesen

Hi,
Dieses Posting ist eine Ergänzung zu meinem Posting von gestern Nachmittag, aber da ich bei meinem Problem dank MudGuard etwas weitergekommen bin, stehe ich jetzt vor einem anderen Rätsel.

Also gesucht wird ein Ausdruck, der Links in einem Text erkennen soll die nicht zwischen [link] und [/link] stehen. Diese Textabschnitte werden dann rot markiert.
Das Problem ist jetzt, dass die rote Markierung bis zum nächsten Textabschnitt einfach weitergeht, wobei sei eigentlich am Ende des Links aufhören sollte (was ich aber nicht verstehe, weil der folgende reg. Expr. Leerzeichen nicht erlaubt).
Das 2. Problem ist, dass wenn ein Link zb mit www.irgendwas.com anfängt, dieser Link zwar rot markiert wird, aber vor dem www wird ein ; plötzlich hingeschrieben, und ich habe keine blassen Schimmer, wie das dort plötzlich hinkommt. Es sieht dann so aus ->  ; www.irgendwas.com.

Hier mal der Ausdruck :
$changetext =~ s/(^[link][A-Za-z0-9._-%&?/+=;]+[^[/link]])/<span class="farbmarkierung">$1</span>/ig

$xNeTworKx.