Danke für deine Antwort.
Ich habe mir einen Workaround ausgedacht, der für meinen konkreten Fall, sowie vermutlich für die meisten anderen Fälle funktioniert.
Das einzige, was definitiv nicht funktioniert ist, wenn der auszulesende Code einen HTML-Kommentar enthält.
Den Code, den ich ursprünglich aus der Div-Box auslesen wollte, setze ich in Kopie in einen besonderen HTML-Kommentar (dieser wird vom IE nicht verstümmelt). Wenn man mit PHP arbeitet, muss man diesen Code nicht zweimal schreiben, sondern speichert ihn einmal in einer Variable und gibt dessen Inhalt dann einmal in der Div-Box aus und einmal in dem besonderen HTML-Kommentar.
Mit besonders meine ich eine bestimmte Syntax, die ich mir ausgedacht habe:
Der Codeblock bekommt einen Namen zur Identifikation (auf die Weise können beliebig viele Codeblöcke verwendet werden). Dieser steht einzeln in einem Kommentar. Unmittelbar danach folgt ein weiterer Kommentar, der den Code enthält:
<!-- divcode1 --><!-- <a href="http://www.google.com/" target="_blank" class="sehrhaesslicherlink" onclick="sinnlosemeldung();">Dieser ganze HTML-Code ist eine mit PHP dynamisch erstellte Kopie des Codes im Div und wird auch im IE richtig übermittelt - mit Anführungszeichen usw.</a>
Mit meiner JavaScript-Funktion GetCommentBlock kann man dann den Code komfortabel extrahieren:
div.innerHTML = GetCommentBlock(divparent.innerHTML, "divcode1").replace("sinnlosemeldung", "sinnvollemeldung");
function GetCommentBlock(source, blockid)
{
//Fuck IE crap shit bullshit binary trash
var pos1 = source.indexOf("<!-- " + blockid + " -->");
var pos2 = pos1 + blockid.length;
var pos3 = source.indexOf("<!-- ", pos2);
var pos4 = pos3 + 5;
var pos5 = source.indexOf(" -->", pos4);
var buf1 = source.substring(pos4, pos5);
if (pos1 > -1)
return buf1;
}
Es mag einem umständlich vorkommen, dass man den Code, den man aus dem Div auslesen will, in Kopie in "meinen" Kommentar einbauen muss, aber mit PHP geht das ganz einfach und dynamisch.
Es würde mich wirklich interessieren, was ihr von meiner Idee bzw. meinem Code haltet!