Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 25.01.07 18:58

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
(.*)\[\/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>

netcup.de Warum gibt es hier Werbung?
nuit nuit am 25.01.07 20:54

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

Snake am 25.01.07 21:58

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.

nuit nuit am 25.01.07 22:15

ja schon...aber anders, hast du den bbcode noch drin stehen ;D

Snake am 25.01.07 22:16

dann sieht man wenigstens, dass was falsch ist

Wasili am 25.01.07 22:31

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.
Dann halt noch das Problem mit zuviel auf/zu... Naja. Halt die quotes zählen und ggf "entschärfen", eines, das zuviel ist.

fish fish am 26.01.07 14:14

also wie mach ich das jetzt genau ndass es funktioniert?

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt