Brauche Hilfe beim Escapen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Fennias Maxim
Mitglied
Beiträge: 489
Registriert: 12.08.2005 20:16
Wohnort: Technodrome
Kontaktdaten:

Brauche Hilfe beim Escapen

Beitrag von Fennias Maxim »

Ich möchte mit einem kleinen PHP-Script HTML und Java-Code ausgeben. Nur komme ich beim Escapen brutal durcheinander und es funktioniert nicht.

Code: Alles auswählen

	$ret ='<div style="padding: 3px; background-color: #313131; border: 1px dashed #B38E00; font-size: 1em;">
	<div style="text-transform: uppercase; border-bottom: 2px solid #B38E00; margin-bottom: 3px; font-size: 0.8em; font-weight: bold; display: block;">
		<span 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.innerHTML = \'<b>Spoiler: </b><a href=\'"#"\' onClick=\'"return false;"\'>ausblenden</a>\'; 
		} 
		else 
		{ 
			this.parentNode.parentNode.getElementsByTagName(\'div\')[1].getElementsByTagName(\'div\')[0].style.display = \'none\';
			this.innerHTML = \'<b>Spoiler: </b><a href=\'#\' onClick=\'return false;\'>anzeigen</a>\'; 
		}
		" />
		<b>Spoiler: </b>
		<a href="#" onClick="return false;">anzeigen</a>
		</span>
	</div>
	<div class="quotecontent">
		<div style="display: none;">
			'.$text.'
		</div>
	</div>	
</div>';
echo $ret;
Probleme gibt es nur in den
this.innerHTML = '\
Zeilen.

Hier meldet mir Firebug: "illegal character".
Liegt wohl daran das ich auch das #-Zeichen escape..
Wer kann helfen?
50% aller Fragen können mit der Knowledge Base oder der Forensuche beantwortet werden!
Warum hast du also diesen Thread hier eröffnet?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wenn du den Inhalt der Variable am Schluss sowieso ausgibst, warum verwendest du dann nicht

Code: Alles auswählen

?> HTML <?php
?

Alternativ gibt es noch die Heredoc Syntax.
KB:knigge
Benutzeravatar
Fennias Maxim
Mitglied
Beiträge: 489
Registriert: 12.08.2005 20:16
Wohnort: Technodrome
Kontaktdaten:

Beitrag von Fennias Maxim »

Pyramide hat geschrieben:Wenn du den Inhalt der Variable am Schluss sowieso ausgibst, warum verwendest du dann nicht

Code: Alles auswählen

?> HTML <?php
?
Ich hab das echo nur da hingeschreiben, damit man weiß was mit der Variablen passiert. Sie wird in Wirklichkeit viel Später ausgegeben. (Das Script ist größer)
50% aller Fragen können mit der Knowledge Base oder der Forensuche beantwortet werden!
Warum hast du also diesen Thread hier eröffnet?
Benutzeravatar
igorw
Mitglied
Beiträge: 107
Registriert: 02.08.2008 13:04
Wohnort: Winterthur

Beitrag von igorw »

Probier mal folgendes.

Ersetze:

Code: Alles auswählen

this.innerHTML = \'<b>Spoiler: </b><a href=\'"#"\' onClick=\'"return false;"\'>ausblenden</a>\';
Mit:

Code: Alles auswählen

this.innerHTML = \'<b>Spoiler: </b><a href=\\"#\\" onClick=\\"return false;\\"\'>ausblenden</a>\';
Und:

Code: Alles auswählen

this.innerHTML = \'<b>Spoiler: </b><a href=\'#\' onClick=\'return false;\'>anzeigen</a>\'; 
Mit:

Code: Alles auswählen

this.innerHTML = \'<b>Spoiler: </b><a href=\\"#\\" onClick=\\"return false;\\">anzeigen</a>\'; 
Antworten

Zurück zu „Coding & Technik“