7 Stimmen

PHP, warum entkommen Sie meinen Anführungszeichen?

Mögliches Duplikat:
Warum werden Escape-Zeichen zum Wert der versteckten Eingabe hinzugefügt?

Ich habe also eine Datei namens Save.php.

Es braucht zwei Dinge: eine Datei und den neuen Inhalt.

Sie verwenden es, indem Sie eine Anfrage senden wie '/Resources/Save.php?file=/Resources/Data.json&contents={"Hey":"There"}' .

aber natürlich die Verschlüsselung der Url. :) Der Einfachheit und Lesbarkeit halber habe ich alles unverschlüsselt gelassen.

Die Datei funktioniert, aber statt des Inhalts wird

{"Hey":"There"}

..finde ich.

{\"Hey\":\"There\"}

was natürlich einen Fehler auslöst, wenn man versucht, die JSON.parse wenn Sie die JSON-Datei später über XHR abrufen.

Um den Inhalt zu speichern, benutze ich einfach

file_put_contents($url, $contents);

Was kann ich tun, um die Backslashes loszuwerden?

1voto

Orbling Punkte 20005

Wenn Sie die magischen Anführungszeichen für Ihren Server nicht ausschalten können, müssen Sie überprüfen, ob sie eingeschaltet sind, indem Sie get_magic_quotes_gpc() und wenn sie wahr ist, stripslashes() .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X