Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » BB-Code - [quote] verschachteln Antworten
BB-Code - [quote] verschachteln

webworker
Fachidiot


Beiträge: 115


Hallo,

mit folgendem Code ersetze ich [quote ]...[/ quote] in einem Text:

1:
$text = preg_replace("/\[quote\](.*)\[\/quote\]/siU","<div class=\"forum_quote\">\\1</div>",$text);


Wenn ich [quote ] jetzt jedoch verschachtele, dann ersetzt er nur das erste [quote] und das als erstes kommende [/ quote].

Bsp:

[quote ]
[quote ]
...
[/ quote]

...
[/ quote]

Wie kann ich das beheben?


---
Max
Hommingberger Gepardenforelle

Diese Nachricht wurde geändert von: webworker
  Profil   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Das einfachste wäre Anfangs- und Endcode einzeln zu ersetzen, kann aber Designfehler geben, wenn der User eine Eingabe nicht macht.

Ansonsten schau mal hier: http://de2.php.net/manual/de/pcre.pattern.syntax.php#regexp.reference.recursive

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

webworker
Fachidiot


Beiträge: 115


Ich habs jetzt so gemacht, gibt sicherlich bessere Möglichkeiten ;)

1: 
2: 
3: 
4: 
5: 
6: 
7:
$anzahl = substr_count($text, "[quote]");
for($i = 1; $i <= $anzahl; $i++) {
$text = preg_replace("/\[quote\](.*)\[\/quote\]/siU", "<div class=\"forum_quote\">\\1</div>", $text);
}
$anzahl = "";


---
Max
Hommingberger Gepardenforelle

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben