DIV stört anderes DIV bei Ausgabe?

Hallo,

Folgendes Problem. Hab ein selbstprogrammiertes Forum, was auch alles funktioniert, bis auf eine Tatsache das wenn ich jetzt einen Beitrag zitieren will und danach noch einen "Spoiler" Text anhänge, funktioniert der "Spoiler" Befehl nicht mehr (lässt sich weder öffnen noch schließen). Wenn ich jetzt einen Beitrag verfassen würde ohne Zitat funktioniert der Spoiler ohne Probleme.
Das interessante ist, wenn ich das div id="blockqoute" weggebe beim Zitat dann funktioniert der Spoiler. Auch wenn das div alleine dort stehen würde, würde es nicht gehen! Also der Inhalt blockqoute ist nicht ausschlaggebend.

Kann mir jemand erklären wieso es nicht funktioniert? Oder sehe ich den Wald vor lauter Bäumen nicht mehr? Bin echt ratlos und wäre für eure Hilfe echt dankbar!

Zitat Ausgabe:
PHP:
$out = preg_replace('#\[zitat\](.+?)\[/zitat\]#is','<div id="blockquote">\\1</div>',$out);

Spoiler Ausgabe:
PHP:
$out = preg_replace("#\[spoiler\](.+?)\[/spoiler\]#is","

<div style=\"padding:2px\">

<input type=\"button\" value=\"Spoiler öffnen\" style=\"width:90px;margin:0px;padding:0px;\" onClick=\"if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';		this.innerText = ''; this.value = 'Spoiler schließen'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Spoiler öffnen'; }\">
</div>
<div style=\"margin: 0px; padding: 5px;\">
<div style=\"display: none;\">
<i>\\1</i>
</div>
</div>

 ",$out);
 
Sieht meiner Meinung nach ganz normal aus?

PHP:
<div id="blockquote">
TESTETSTEST
<br>
</div>
<br>
<br>
<div style="padding:2px">
<input type="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Spoiler schließen'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Spoiler öffnen'; }" style="width:90px;margin:0px;padding:0px;" value="Spoiler öffnen">
</div>

<div style="margin: 0px; padding: 5px;">
<div style="display: none;">
<i>Text versteckt!</i>
</div>
</div>
 
Hab es geschafft! War eh klar. Ich musste die Spoiler Ausgabe in ein zusätzliches DIV einbinden, da das DIV nicht wusste zu welchen er nun gehört. Man bin ich blöd. Danke trotzdem für eure Hilfe!
 
Zurück