mh1001
Lt. Commander
- Registriert
- Nov. 2003
- Beiträge
- 2.039
Hallo,
ich habe mich nun einmal entschlosssen, das BBCode-Parsing-System auf meiner Website wieder einmal etwas auszubauen.
Jedoch will das Parsing von Listen nicht so ganz klappen.
Dabei soll folgende Eingabe ("-" dienen nur dazu, dass das Forum die Tags nicht als BBCode interpretiert gehören nicht dazu):
im ersten Parsing-Durchlauf in folgendes umgewandelt werden:
Mein Versuch sieht bisher folgendermaßen aus:
Leider scheint dies aber nicht zu funktionieren. So wird zum Beispiel aus folgender Eingabe:
folgendes:
Dies ist nun leider nicht die erwartete Ausgabe, da nur das Letzte "[-*-]" in "</li><li>" umgewandelt wird.
Doch wo befindet sich der Fehler?
MfG mh1001
ich habe mich nun einmal entschlosssen, das BBCode-Parsing-System auf meiner Website wieder einmal etwas auszubauen.
Jedoch will das Parsing von Listen nicht so ganz klappen.
Dabei soll folgende Eingabe ("-" dienen nur dazu, dass das Forum die Tags nicht als BBCode interpretiert gehören nicht dazu):
Code:
[-list-]
[-*-]a
[-*-]b
[-*-]c
[-/list-]
Code:
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
PHP:
<?php
$format = preg_replace("#\[list\](.*)\[\*\](.*)\[/list\]#is", "
[list]\\1</li><li>\\2
[/list]", $format);
$format = preg_replace("#\[list\](.+?)\[/list\]#is", "<ul><li>\\1</li></ul>", $format);
$format = str_replace("<li></li>", "", $format);
?>
Code:
[-list-]
[-*-]Test #1
[-*-]Test #2
[-*-]und noch nen Listenpunkt
[-/list-]
Code:
<ul><li>
[*]Test #1
[*]Test #2
</li><li>und noch nen Listenpunkt
</li></ul>
Doch wo befindet sich der Fehler?
MfG mh1001
Zuletzt bearbeitet: