roland: ' durch \" mit str_replace() ersetzen

Hallo,

ich habe einen String in PHP, der dann per JavaScript in eine innerHTML gepostet wird. Beispiel für den Inhalt eines Strings <a href="#" onclick="open_options('dock');"></a>

nun möchte ich in PHP die " durch ' und die ' durch " ersetzen, damit das ganze dann so aussieht:  <a href='#' onclick='open_options("dock");'></a>   und meine Ausgabe im JS auch klappt. Wenn ich es nun so mache: $text=str_replace("'",""",$text); denkt PHP ja, dass ich einfach nur herkömmliche " escapen will, doch ich möchte doch gern wirklich " drin haben.

Hat jemand ne Lösung für dieses Problem?

Sonnige Grüße
Roland

  1. hi,

    Wenn ich es nun so mache: $text=str_replace("'",""",$text); denkt PHP ja, dass ich einfach nur herkömmliche " escapen will, doch ich möchte doch gern wirklich " drin haben.

    Wenn du möchtest, dass der Backslash nicht mehr seine Bedeutung als Sonderzeichen hat, sondern ein normales Zeichen sein soll - dann escape diesen.

    Ist hier aber auch nicht nötig, wenn du einfach '"' als zweiten Parameter nimmst.
    (Und Strings, in denen gar nicht nach Variablennamen gesucht werden soll, in " einzufassen, ist sowieso unschön.)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Danke euch beiden. Hab es nach Genies Methode gemacht.

  2. Benutz folgendes:
    \\\"
    Die ersten zwei \ stehen für ein escapetes , das dritte \ und das " für ein escapetes ". Ausgegeben wird ", das ist für Javascript ein escapetes ".
    mfg
    Genie