Hallo,
ich Integrierte gerade Geshi in mein Forum. Dabei werden die BBCodes in der DB abgelegt.
Die BBCodes funktionieren soweit. Habe ich allerdings 2 oder mehr gleiche BBCodes in einem Post wird der erste nicht Geschlossen und er erkennt
Ein Text
als ein einzigen BBcode.
Das Problem ist, dass preg_match / preg_replace, was con seitens des Forums schon ausgeführt wird und NICHT verändert werden darf immer ein Gesamtvorkommen erkennt. Also nicht nacheinander.
Soweit ich weiss muss ich innerhalb der Funktion mit preg_match_all und count arbeiten.
Ich Versuche das nun einige Tage, leider ohne erfolg. Hat da jemand etwas ähnliches und würde mir seinen Code Posten?
$source ist der Post Text und $language enthällt zb. php oder mysql oder css
Alles anzeigen
ich Integrierte gerade Geshi in mein Forum. Dabei werden die BBCodes in der DB abgelegt.
Die BBCodes funktionieren soweit. Habe ich allerdings 2 oder mehr gleiche BBCodes in einem Post wird der erste nicht Geschlossen und er erkennt
Ein Text
als ein einzigen BBcode.
Das Problem ist, dass preg_match / preg_replace, was con seitens des Forums schon ausgeführt wird und NICHT verändert werden darf immer ein Gesamtvorkommen erkennt. Also nicht nacheinander.
Soweit ich weiss muss ich innerhalb der Funktion mit preg_match_all und count arbeiten.
Ich Versuche das nun einige Tage, leider ohne erfolg. Hat da jemand etwas ähnliches und würde mir seinen Code Posten?
$source ist der Post Text und $language enthällt zb. php oder mysql oder css
Quellcode
- function bbcode_callback($source, $language) {
- $source = str_replace('\"', '"', $source);
- $source = str_replace(">", ">", $source);
- $source = str_replace("<", "<", $source);
- $source = str_replace("&", "&", $source);
- $source = str_replace("'", "'", $source);
- $source = str_replace(""", "\"", $source);
- $source = str_replace('\\"', '"', $source);
- $geshi = new GeSHi($source, $language);
- $geshi->enable_keyword_links(true);
- $source = $geshi->parse_code();
- return '<div class="codebox"><div class="codebox_title">'.$language.'</div><div class="codebox_content">'.$source.'</div></div>';
- }
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GXH ()