Addslashes - Verständnisfrage
KD-one
- php
Hallo alle,
Ich bin grad am konzipieren eines Scriptes, das vier unterschiedliche Anforderungen erfüllen muss. Das Script soll im Endeffekt aus einem Array 4 unterschiedliche Navigationen erzeugen(Noscriptmenü, Listenmenü, Listenmenü für NN4.x, und Javascriptmenü)
Bei dreien davon hab ich im Prinzip zur Zeit keine Probleme, bei der vierten gibt es ein Verständnisproblem.
einmal soll die Ausgabe so erfolgen:
echo "document.write="index.php?weitere parameter...";
Das ist ja an sich kein Problem, mit addslashes kann ich ja den Backslash automatisch erzeugen.
Wenn ich diese Scriptzeile aber als Klartext ausgeben möchte(ist ja nötig, da in Js die Maskierung der Anführungszeichen nötig ist), müsste ich die Funktion addslashes 2 mal hintereinander ausführen um so ein Ergebnis zu erhalten:
echo "document.write=\"index.php?weitere parameter...";
Ist das in dieser Form sinnvoll, möglich und zieführend, oder gibt es dafür einen einfacheren Weg?
Es existiert noch kein Script dazu, das hier ist einfach eine Verständnisfrage.
Und noch eine Frage, bzw. Bitte:
Könntet ihr bitte hier [pref:t=68030&m=389734] nachschauen, ob Ihr da einen Fehler meinerseits findet, damit ich das Problem mit der Fehlermeldung aus der Welt schaffen kann?
In CSS2 wird die Syntax anstandslos akzeptiert, in CSS3 meckert der Validator...? :-/
Gruß
Kurt
Hallo alle,
Gedankliche Verwirrung, da hab ich wohl um die Ecke gedacht.
Ich brauche die Ausgabe ja gar nicht in PHP, insofern erübrigt sich die doppelte Ausführung von addslashes.
Ein Problem bleibt nach meinen Test aber bestehen:
Folgendes Script verursacht einen Parse Error:
<?php error_reporting(E_ALL);
$string = "document.write='index.php/'";
$add = addslashes($string);
$js = addslashes($add."\n");
$ausgabe = nl2br($js);
$end = str_replace('<br />', '<br>', $ausgabe) <--Hier tritt der Fehler auf!
echo $end;
$string = "document.write = "<a href=\"index.php\">Linktext</a>";
$ausgabe = str_replace('</a>', '</a>', $string);
echo $ausgabe;
?>
Bis zu $ausgabe wird das Script korrekt ausgeführt, wenn ich die Zeile "$end=..." hinzufüge, kommt ein Parse Error.
Warum?
Hintergrund: <br /> ist XHTML-Syntax und hat in meiner Seite nichts zu suchen.
Gruß
Kurt
Hallo alle,
Ach du Schande, was ein fehlendes Semikolon ausmacht... ;-)
Gruß
Kurt
Gruß
Kurt