Backslash escapen

Cherrywine

Mitglied
Hej,

wenn ich einen PHP-Code mit der Highlight-String-Funktion ausgeben lasse, bekomme ich Probleme beim Escapen: und zwar dann, wenn der darzustellende PHP-Code selber schon eine Zeile enthält, in der ein escapender Backslash enthalten ist.

Logischerweise soll dieser ja mit angezeigt werden - es klappt aber nicht, diesen Backslash dann einfach selber zu escapen, weil sich der Ausdruck nicht in doppelten Anführungszeichen befindet. Er wird dann trotzdem nicht angezeigt.

Also mal was anschaulicher - das hier ist die Codezeile, die so angezeigt werden soll, wie sie jetzt hier steht:
Code:
echo " <a href=\"?seite=$b\">$b</a> ";

Und so habe ich es versucht:
Code:
echo \"<a href=\ \"?seite=\$b\\ \">\$b</a> \";

Angezeigt wird dann allerdings nur der erste Backslash - der am Ende des einleitenden a-Tags nicht:
Code:
echo "<a href=\ "?seite=$b">$b</a> ";


Was mache ich da falsch? :confused:


Lieben Gruß
Cherrywine
 
Ich verstehe nicht ganz was du vor hast. Etwa Folgendes?
PHP:
echo 'echo " <a href=\"?seite=$b\">$b</a> ";';
echo "echo \" <a href=\\\"?seite=\$b\\\">\$b</a> \";";
 
Ah, so geht es jetzt - das doppelte echo brauche ich nicht, aber ich hatte einen Backslash zu wenig und ein Leerzeichen zuviel:
Code:
echo \"<a href=\\\"?seite=\$b\\\">\$b</a> \";

(Hintergrund: es geht um die Darstellung eines PHP-Codes in einem Tutorial - und da innerhalb dieses Codes etwas escaped wird, soll das halt entsprechend angezeigt werden. Und damit's schön bunt wird, halt mit Highlight-String ;) )

Vielen Dank,
Cherrywine
 
Zurück