Problém s regulárními výrazy

Ahojky všichni, potřeboval bych objasnit problém výše zmíněné problematiky.

V textaree javascriptem umožňuji uživateli zadat URL odkazu včetně jeho textu, což v reále vypadá:

[a][/a]{http://}

... kde mezi [a] a [/a] se zadá text odkazu a do složených závorek potom samotná URL. Řeším to potom v PHP přes ereg_replace():

$q = "(\[a\])(.+)(\[/a\])(\{)([[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/])(\})";

$a = "<a href=\"\\5\" class=\"text\">\\2</a>";

$aktualita = ereg_replace($q, $a, $aktualita);

Vše takto funguje a po vygenerování se skutečně v textu zobrazí odkaz jako text, který uživatel zadal. Problém nastává, pokud se v tom samém textu zadají do textarey odkazy dva (i více). V tu chvíli je po vygenerování PHP odkaz sloučen ze všech do jednoho, resp. od prvního k poslednímu, jestli m rozumíte, něco ve stylu:

1.odkaz[/a]{http://www.seznam.cz} nějaký text mezi odkazama [a]2.odkaz

, kde se po vygenerování zobrazí tato věta jako jeden odkaz...
Muzes napriklad nahradit (.+) takovym vyrazem, kde nesmi byt napriklad lomitko ([^/]+) - timto "zastavis" zravou vlasnost..
Super, díky moc, funguje to...