Editor Listen in ul li umwandeln
Guten Abend,
ich brauche für ein Forum eine Möglichkeit den Benutzer seine Eingaben formatieren zu lassen, wie BBCode.
Allerdings möchte ich, dass z.B. Listen so aufgelistet werden:
*Punkt1
*Punkt2
*Punkt3
... ihr wisst schon was ich meine. Die li Tags bekomme ich mit Regex umgewandelt, aber wie setze ich jetzt einen Block ul um die li Tags?
Hier der Ausschnitt meiner Datei:
Vielen Dank & mfg
Yannick
ich brauche für ein Forum eine Möglichkeit den Benutzer seine Eingaben formatieren zu lassen, wie BBCode.
Allerdings möchte ich, dass z.B. Listen so aufgelistet werden:
*Punkt1
*Punkt2
*Punkt3
... ihr wisst schon was ich meine. Die li Tags bekomme ich mit Regex umgewandelt, aber wie setze ich jetzt einen Block ul um die li Tags?
Hier der Ausschnitt meiner Datei:
<?php
$str = preg_replace("#\*(.*)\\r\\n#U", "<li>$1</li>", $str);
?>
Vielen Dank & mfg
Yannick
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 164986
Url: https://administrator.de/contentid/164986
Ausgedruckt am: 24.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Hi,
habe da eine Idee !
Ich würde das übe einen "Callback" machen: PHP-Manual - preg_replace_callback()
Mit dem regulärem Ausdruck lässt du dann von "\n*" bis "[a-z]\n" suchen (die komplette Liste) und das gefundenen an die Callbackfunktion übergeben. In dieser lässt du den String dann Stück für Stück auseinander nehmen und baust du so deine HTML-Liste zusammen. Das HTML wird von der Funktion dann wieder zurückgegeben und an der entsprechenden stelle im Text ersetzt.
Das schwerste dabei dürfte wohl der reguläre Ausdruck sein ;)
~Arano
habe da eine Idee !
Ich würde das übe einen "Callback" machen: PHP-Manual - preg_replace_callback()
Mit dem regulärem Ausdruck lässt du dann von "\n*" bis "[a-z]\n" suchen (die komplette Liste) und das gefundenen an die Callbackfunktion übergeben. In dieser lässt du den String dann Stück für Stück auseinander nehmen und baust du so deine HTML-Liste zusammen. Das HTML wird von der Funktion dann wieder zurückgegeben und an der entsprechenden stelle im Text ersetzt.
Das schwerste dabei dürfte wohl der reguläre Ausdruck sein ;)
~Arano