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?

9voto

SLaks Punkte 832502

Drehen Sie magic_quotes aus in PHP.ini.

4voto

Mick Hansen Punkte 2655

Sieht aus, als hätten Sie magische_Zitate eingeschaltet ist.

Wenn das der Fall ist, schalten Sie es entweder aus - oder verwenden Sie ein Laufzeitsperrfunktion

3voto

Ozzy Punkte 9789

Sie haben wahrscheinlich magische Anführungszeichen aktiviert, es gibt nur zwei Möglichkeiten: Deaktivieren Sie die magischen Anführungszeichen in Ihrer php.ini oder rufen Sie stripslashes() en $_GET y $_POST Globale.

Zu Ihrer Information: Verwenden Sie $_GET['contents'] im Gegensatz zu $contents ; neuere Versionen von php erzeugen nicht die $contents var.

3voto

Shef Punkte 43517

Versuchen Sie dies:

file_put_contents($url, stripslashes($contents));

2voto

Seldaek Punkte 39199

Sie sollten deaktivieren magic_quotes in Ihrer php.ini-Konfigurationsdatei. Wenn dies nicht möglich ist, können Sie auch die stripslashes() Funktion, um das automatische Escaping loszuwerden.

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