Stefan: Doppelte Anführungszeichen nicht Parsen

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

  1. 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

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    <mathbr:del.icio.us />
    1. 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