Philippé: CSS-Datei in Textarea -> Probleme mit Backslash

Hallo,

ich lade eine HTML o. CSS-Dateien in eine Textarea. Es gibt aber ein Problem bei CSS-Files. Wenn z.B. "quotes" festgelegt sind:

q {
    quotes: "\00BB" "\00AB";
}

Kommt es nach dem ersten Anführungsstrich zu einem Bruch. D.h. der Browser zeigt alles nach dem ersten '"' nicht mehr an (obwohl es im Quelltext aufgeführt wird).

Bevor die Dateien in die Textarea eingelesen werden, wandel ich sie mit htmlspecialchars und stripslashes um.

Im Quelltext steht dann aber:
<textarea>
[...]
#content q {
    quotes: &quot;[Rechteck]0BB&quot; &quot;[Rechteck]0AB&quot;;
}
[...]
</textarea>
Die Anführungsstriche werden mit htmlspecialchars umgewandelt (aus '"' wird &quot). Der Backslash führt aber zu einem "Rechteck" (unbekanntes Zeichen). Außerdem fehlt die erste '0'. Die Seite ist iso-8859-1.

In der CSS-Datei steht aber alles korrekt, es ist also ein Anzeige-Problem.
Hat jemand eine Idee, wie der Backslash richtig angezeigt wird?

Danke im Voraus.

MfG

  1. Hi,

    q {
        quotes: "\00BB" "\00AB";
    }
    Bevor die Dateien in die Textarea eingelesen werden, wandel ich sie mit htmlspecialchars und stripslashes um.

    Und damit wird vermutlich statt den zwei Zeichen \ und 0 das Zeichen mit Code 0 im String ...

    Im Quelltext steht dann aber:
    <textarea>
    [...]
    #content q {
        quotes: &quot;[Rechteck]0BB&quot; &quot;[Rechteck]0AB&quot;;
    }
    [...]
    </textarea>
    Die Anführungsstriche werden mit htmlspecialchars umgewandelt (aus '"' wird &quot). Der Backslash führt aber zu einem "Rechteck" (unbekanntes Zeichen). Außerdem fehlt die erste '0'. Die Seite ist iso-8859-1.

    Nicht der Backslash, sondern Backslash und Null, die zu einem Zeichen mit Code 0 gewandelt wurden, welches im Browser dann als Kästchen angezeigt wird.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Nicht der Backslash, sondern Backslash und Null, die zu einem Zeichen mit Code 0 gewandelt wurden, welches im Browser dann als Kästchen angezeigt wird.

      Danke. Gibt es da eine PHP-Funktion oder muss ich das per Hand machen?

      cu,
      Andreas

      MfG

      1. Hallo du da draußen,

        Nicht der Backslash, sondern Backslash und Null, die zu einem Zeichen mit Code 0 gewandelt wurden, welches im Browser dann als Kästchen angezeigt wird.
        Danke. Gibt es da eine PHP-Funktion oder muss ich das per Hand machen?

        Wozu wendest du stripslashes() überhaupt an?

        Grüße von hier drinnen, aus Biberach an der Riss,
        Candid Dauth (Dogfish)

        --
        »Bismarck biss Mark, bis Mark Bismarck biss!«
        http://cdauth.net.tc/
        ie:{ fl:( br: va:} ls:[ fo:| rl:( n4:( ss:) de:> js:( ch:| sh:( mo:) zu:|
        1. Hallo du da draußen,

          Hiho,

          Wozu wendest du stripslashes() überhaupt an?

          Sonst wird aus '"' ein '"'. Nicht schön. :(
          <a href="#"></a> sieht doof aus.

          MfG

          1. Hallo du da draußen,

            Wozu wendest du stripslashes() überhaupt an?
            Sonst wird aus '"' ein '"'. Nicht schön. :(
            <a href="#"></a> sieht doof aus.

            Da scheint irgendwo ein Fehler in deinem Code zu sein. Möglicherweise speicherst du das irgendwie in einer Datenbank, wo das " dann maskiert wird?
            Oder wird es erst markiert, nachdem du das Formular abgesendet hast? Dann solltest du dir mal magic_quotes_gpc ansehen.

            Trotzdem kann ich mir nicht erklären, warum ein " maskiert wird, ein \ aber nicht.

            Naja, vorläufig kannst du dir mit einem
            str_replace("\0", "\0", $code);
            behelfen.

            Grüße von hier drinnen, aus Biberach an der Riss,
            Candid Dauth (Dogfish)

            --
            »Bismarck biss Mark, bis Mark Bismarck biss!«
            http://cdauth.net.tc/
            ie:{ fl:( br: va:} ls:[ fo:| rl:( n4:( ss:) de:> js:( ch:| sh:( mo:) zu:|