Doppelte Anführungszeichen nicht Parsen
Stefan
- php
Ich stehe vor einem großen Problem. Ich lese den Inhalt einer Datei in eine String ein und gebe diese danach über echo $string; aus. Wenn jedoch in der Datei doppelte Anführungszeichen stehen, werden diese später als " ausgegeben. Wie kann ich das verhindern?
Danke, Stefan
Hallo Stefan.
Wenn jedoch in der Datei doppelte Anführungszeichen stehen, werden diese später als " ausgegeben. Wie kann ich das verhindern?
Deaktiviere, sofern möglich, die Magic Quotes (was sehr zu empfehlen ist) oder wende stripslashes() auf den String an.
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Stefan hallo Ashura,
Wenn jedoch in der Datei doppelte Anführungszeichen stehen, werden diese später als " ausgegeben. Wie kann ich das verhindern?
Deaktiviere, sofern möglich, die Magic Quotes (was sehr zu empfehlen ist) oder wende stripslashes() auf den String an.
Das klingt allerdings etwas merkwürdig.
Wenn der OP ein System mit "Standard-INI" benutzt, müssten die
magic_quotes_runtime = off
sein. Pauschal die Abschaltung und/oder stripslashes zu empfehlen, halte ich daher auch nicht für sinnvoll. Man sollte sich vorher vergewissern, was das System tut und was ggf. bereits schon auf anderem Wege in die Datei hineingemischt worden ist.
Wie sind denn die Daten in die Datei gelangt? Kamen die vielleicht aus einer externen Quelle, also z.B. einem Webformular?
Also bitte erst den Datenfluss nachvollziehen, dann mit
get_magic_quotes_gpc()
oder
get_magic_quotes_runtime()
oder mittels der ini-Funktionen
z.B.: http://de3.php.net/manual/de/function.ini-get.php
Übersicht verschaffen.
Bei der Ausgabe des Strings sollte man dann wahrscheinlich noch
echo htmlentities($string,ENT_QUOTES);
benutzen.
LG
Chris