ich habe zur zeit anscheinen die meissten php probleme:-D
na egal.
folgender code: er macht eine darstellung von zitaten, soll auch ineinander schachteln
// Zitate umwandeln, evtl. auch verschachtelt
//breite des zitatkastens in pixeln
$width = 575;
while(preg_match('/\[quote\](.*)\[\/quote\]/Uis', $text)) {
$width -= 10;
//der zitatkasten
$quote_start = "<p class=\"zitat\" style=\" width:".$width."px\">";
$quote_end = "</p>";
$text = preg_replace("/\
(.*)\[\/quote\]/Uis", $quote_start."\1".$quote_end, $text);
}
problem: er funktioniert nicht. gibt statt dem gewünschten zitat folgendes aus:
<p class="zitat" style=" width:565px"></p>
Quote
ersetz einfach alle
Quote
und alle
dadurch hast du eine verschachtelung :D
$quote_start = "<p class=\"zitat\" style=\" width:".$width."px\">";
$quote_end = "</p>";
$text = str_replace(array("Quote
","
"),array($quote_start,$quote_end),$text);
achso du willst auch noch nach innen gehen....nunja...dann musst du die einzeln ersetzen....mhh...mal überlegen
problem ist dann aber, dass du html fehler hast, wenn du z.b. 2 tags auf machst und nur einen wieder zu. oder 2 zu ohne einen aufgemacht zu haben etc.
ja schon...aber anders, hast du den bbcode noch drin stehen ;D
dann sieht man wenigstens, dass was falsch ist
blockquote nehmen anstatt p; Lediglich wenn eine Stricte HTML-Variante genommen wird muss der Text noch zusätzlich mit anderen Blockelementen (p) umfasst werden. ;)
So gegen den HTML-Fehler... p schachteln ist b(p)öse.
xyz-48n halt noch das Problem mit zuviel auf/zu... Naja. Halt die quotes zählen und ggf "entschärfen", eines, das zuviel ist.
also wie mach ich das jetzt genau ndass es funktioniert?