austrian5: Problem mit Live-Anzeige

Beitrag lesen

Liebes Forum!

Im Moment Arbeite ich gerade an einer Forum-artigen Homepage. Mir war es ein anliegen, zusammen mit dem Beitrags-Formular auch gleich eine Live-Anzeige zu programmieren, bei der auch BB-Codes eingebunden werden können.
Da meine JavaScript-Kenntnisse nicht gerade überragend sind, habe ich mir mehr oder weniger die wichtigsten Code-Schnipsel zusammengebastelt.

Nachdem ich einige Objekte mit replace() ersetzt hatte, stoß ich auf folgendes Phänomen: Wenn ich zwei BB-Links hintereinander stellte, schluckte er einen Teil des Textes in den Link hinein. So wurde zum Beispiel aus

[url=http://www.selfhtml.org]Test[/url]
[url]www.google.at[/url]

in HTML etwas wie folgt:

<a href="http://www.selfhtml.org]Test[/url]  
[url" target="_blank">www.google.at</a>

Wenn nur ein Link vorliegt, gibt es keinerlei Probleme, aber bei mehreren scheint er nur den ersten und letzten Tag zu beachten.

Hier der Teil vom Code, der interessant sein könnte (übrigens in PHP, weil geprüft werden soll, ob der Besucher angemeldet ist, was die Sache ein wenig komplizierter macht):

<?php  
  
echo "<script type='text/javascript'>  
function live (){  
var title = document.formular.name.value;  
var text = \"\\n\" + document.formular.text.value + \"\\n\";  
  
text = text.replace(/</, \"&lt;\");  
text = text.replace(/>/, \"&gt;\");  
text = text.replace(/\\n(.*)\\n/ig, \"<p>\$1</p>\");  
text = text.replace(/\\r\\n|\\n/g, \"<br>\");  
  
text = text.replace(/\[url=http:\/\/(.*)\](.*)\[\/url\]/ig, \"<a href=\\\"http:\/\/\$1\\\" target=\\\"_blank\\\">$2</a>\");  
text = text.replace(/\[url=(.*)\](.*)\[\/url\]/ig, \"<a href=\\\"http:\/\/\$1\\\" target=\\\"_blank\\\">$2</a>\");  
text = text.replace(/\[url\](.*)\[\/url\]/ig, \"<a href=\\\"http:\/\/\$1\\\" target=\\\"_blank\\\">$1</a>\");  
  
...  
Text wird ausgegeben  
...  
  
}  
live();  
</script>";  
  
?>

Ich hab im Internet nichts gefunden, was mir hätte helfen können (obwohl ich ein geübter Google-User bin :P).
Wahrscheinlich ist es nur ein relativ kleiner Fehler oder ein in JavaScript übliches Phänomen.

Vielen Dank scho im Voraus

Gruß, Flo =B