Christoph Schnauß: reguläre Ausdrücke in Forumscript

Beitrag lesen

guten Abend ;-)

Ich komme an einer (für mich) sehr eigenartigen Stelle in éinem Forum-Script nicht weiter. Es geht mir um die "modernisierte Fassung" des alten Matt-Wright-Scripts, wie man es sich bei http://nms-cgi.sourceforge.net besorgen kann. Der Grund: ich habe mehrere Foren immer noch mit der noch älteren Fassung, in der es noch nichtmal "use strict" gab, laufen und will die nun endlich mal modernisieren.

Mein bisheriges Script erlaubt  -  genauso wie das SELFHTML-Forum  -  das Einbinden von Textlinks und Grafiklinks in der Form <...> bzw . Verantwortlich dafür sind Ersetzungen, die so aussehen:
      $edit =~ s/<(.?)]/<a href="$1">$1</a>/ig;
      $edit =~ s/[bild:(.
?)]/<img src="$1" alt="bild">/ig;
Das funktionierte in meiner "alten" Fassung ganz prima, ist allerdings weder im "ganz alten" Matt-Wright-Script vorgesehen, noch in der modernisierten Fassung bei nms-cgi.sourceforge.net.

Jetzt dachte ich mir, daß ich ja im Grunde genommen bloß diese regulären Ausdrücke "mitnehmen" und in die Neufassung einbauen muß. Pustekuchen ... Zwar gibts die entsprechenden Variablen, die den Inhalt der Textarea aufnehmen, nach wie vor, und ich kann auch mit
       $edit =~ s/</</g;
       $edit =~ s/>/>/g;
die Darstellung von HTML-tags erlauben/untersagen. Ich kann \n in <br /> umwandeln, ich kann die deutschen Umlaute korrigieren, so daß das Script valides XHTML erzeugt usw. Das deute ich so, daß ich die richtige Stelle gefunden habe, an der ich mit den RegExpressions herumwurschteln kann. Bloß mit den links, image-links (und iframe-links) kriege ich das nicht hin  -  wenn ich [link :http://pirgendwas...> eintrage, erscheint im posting ebenfalls [link :http://irgendwas ...], das heißt, da wird gar nix ersetzt (Anmerkung: damit das jetzt nicht anklickbar wird, mußte ich einen Zwischenraum bei "link :http" lassen).

Ich kriege auch keinerlei Fehlermeldung, kein log, gar nix, womit ich weiterarbeiten könnte.

Möglicherweise liegts daran, daß die "Neufassung" des Matt-Wright-Scrips ein eigenes Inline-Modul mitbringt, in dem gewissermaßen HTML "neu erfunden" wird. Bei dem Ding sehe ich aber noch nicht ganz durch, vielleicht kennt es ja einfach die eckigen Klammern nicht, aber gefunden hab ich eine entsprechende Stelle noch nicht.

Hat jemand irgendwelche Erfahrungen mit dem Teil und kann mir sagen, wie ich nun links, Grafiken und iFrames wieder "erlauben" kann? Solange das nicht erledigt ist, kann ich meine alten Forenscripts nicht durch eine zeitgemäßere Fassung ersetzen, weil sich meine Besucher inzwischen an dieses "Feature" gewöhnt haben und teilweise ausgiebig Gebrauch davon machen  -  im Gegensatz zu manchem "Newcomer" im Forum hier ;-)

Falls erforderlich, kann ich auch mal fix ein "Testforum" online stellen. Es lohnt bloß nicht, das _ganze_ PERL-Script hier zu posten, das sind knapp 700 Zeilen ...

Grüße aus Berlin

Christoph S.