Hallo zusammen,
dies ist meine erste Frage in diesem Forum. Zuerst mal zum Hintergrund: Der User soll Texte auf seiner Internetseite selber updaten können. Die Eingabe erfolgt über textareas, die Speicherung übernimmt eine MySQL-Datenbank. Das klappt alles kanz gut. Bei der Texteingabe sollen dem User keine HTML tags gestattet sein, bzw. ich eliminiere diese später mit strip_tags($text). Es sollen aber dennoch einige einfache Formatierungen möglich sein (fett, kursiv, Zeilenwechsel, emailadresse und webadresse). Auch das ist noch kein Problem: Mit einer kleinen Javascript-Funktion kann der User die Formatierung direkt im Textfeld bei der Eingabe vornehmen; das ganze sieht dann so aus:
HTML-Code:
[URL=http://www.google.de]google dochmal[/URL]
Im Prinzip funktioniert das ganz ähnlich wie bei der Texteingabe hier in diesem Forum. Jetzt kommt mein Problem: Bei der Ausgabe der Seite, soll das natürlich in normales HTML konvertiert werden. Ich habe hierzu (in mühsamer Kleinarbeit) die folgende Anweisung zusammengebastelt:
Code:
$text = ereg_replace("(\[URL\=)(.*)(\])(.*)(\[/URL\])", "<a href=\\2 target=_blank>\\4</a>", $text);
Das funktioniert aber nur dann, wenn in dem eingegebenen Text nur eine einzige zu ersetzende URL vorkommt. Bei mehreren URLs gibts "Kraut und Rüben". Ich stelle hier schon seit Stunden alles um und bekomme das nicht hin. Habe auch schon alles mögliche zu RegEx u.ä. gelesen, aber irgendwie sehe ich nur noch slashes und Sternchen...
vielleicht kann jemand helfen?
fab