Jens Wegner: addslashes() maskiert nicht alle Anführungszeichen

Hallo,
ich stehe vor einem interessanten Problem. Mit addslashes() möchte ich Hochkommata (also diese: "") in einem String markieren. Es funktioniert wunderbar.

Jetzt habe ich einen string, welcher folgende Anführungszeichen enthält: “ (HTML: “). addslashes() ignoriert diese Anführungszeichen und meine spätere js-Funktion funktioniert nicht. Kennt jemand eine Lösung?

Jens

  1. Mahlzeit,

    Kennt jemand eine Lösung?

    Klar. Ändere dein Javascript. addslashes() in PHP ist nicht dafür da um Javascript funktionieren zu lassen. Wenn es bei dir so ist, hast du ein Konzeptproblem.

    Mehr zu sagen ist nicht möglich, da du das Javascript für dich behälst und auch keine Aussage triffst, was du bezwecken willst.

    --
    42
  2. hi,

    ich stehe vor einem interessanten Problem. Mit addslashes() möchte ich Hochkommata (also diese: "") in einem String markieren. Es funktioniert wunderbar.

    Jetzt habe ich einen string, welcher folgende Anführungszeichen enthält: “ (HTML: “). addslashes() ignoriert diese Anführungszeichen und meine spätere js-Funktion funktioniert nicht. Kennt jemand eine Lösung?

    Na klar: Weg von zeichenorientierten Krückenlösungen, gehe über zur Bytesemantic und Du bist sämtliche Maskierungsprobleme mit einem Schlag los und vielleicht auch die ewig Gestrigen, die mit einem Browser unterwegs sind, der mit Binaries (ArrayBuffer) nicht umgehen kann.

    Schönes Beispiel und wenn Du unbedingt an der Zeichenorientierung festhalten willst, guck Dir das mal an: Da werden nicht die Strings maskiert, sondern die Delimiter.

    MfG

  3. Tach!

    Mit addslashes() möchte ich Hochkommata (also diese: "") in einem String markieren. Es funktioniert wunderbar.

    Was ist dein Ziel? Unterscheide bitte auch zwischen markieren und maskieren. Die Bedeutung von beiden Verben ist eine andere.

    Jetzt habe ich einen string, welcher folgende Anführungszeichen enthält: “ (HTML: “). addslashes() ignoriert diese Anführungszeichen und meine spätere js-Funktion funktioniert nicht. Kennt jemand eine Lösung?

    Für welches Problem? addslashes() arbeitet gemäß seiner Beschreibung und das macht es soweit so gut. Ob allerdings addslashes() eine adäquate Lösung ist, kommt auf das Problem an. Ansonsten macht es im Grunde nichts anderes als Zeichen durch was anderes zu ersetzen. Sowas bekommt man auch mit str_replace() und strtr() (zweite Variante im PHP-Handbuch) hin.

    dedlfix.

  4. vielleicht weil “ != " ist?

    Gruß Rainer

  5. @@Jens Wegner:

    nuqneH

    ich stehe vor einem interessanten Problem. Mit addslashes() möchte ich Hochkommata (also diese: "") in einem String markieren.

    Ma_s_kieren. Oder auf gut deutsch: escapen.

    Jetzt habe ich einen string, welcher folgende Anführungszeichen enthält: “ (HTML: “). addslashes() ignoriert diese Anführungszeichen

    Natürlich. “ ist in PHP kein Sonderzeichen.

    und meine spätere js-Funktion funktioniert nicht.

    “ ist auch in JavaScript kein Sonderzeichen. Wieso sollte deine Funktion nicht funktionieren?

    Was nicht funktioniert …

    Kennt jemand eine Lösung?

    Kennt jemand das Problem?

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)