Traudl: Ersetzen von "\"

Hallo,

ich kenne mich in Php wenig aus und probiere seit geraumer Zeit rum.
Also, ich möchte jedes Vorkommen von "\" durch "" ersetzen.
Mit preg_replace und str_replace habe ich schon Versuche unternommen, es passieren teilweise komische Dinge, besonders beim preg_replace.

Mit str_replace habe ich es wohl geschafft:

$doppel_backslash = "\\";
$einfach_backslash = "\";
$string = str_replace($doppel_backslash,$einfach_backslash,$string);

Aber dann müßte ich wohl noch eine Schleife machen bis alle Vorkommnisse ersetzt wurden. In Perl geht das irgendwie einfacher:

$string =~ s/\\/\/g;

Kann mir jemand einen Tip geben, mit welcher Funktion man das rel. einfach lösen könnte? Das ist doch sicher ein alltägliches Problem.
Auf php.net wurde ich nicht wirklich fündig.

Traudl

  1. Hallo,

    Mit stripslashes($var) sollte es einfacher und ohne Schleife gehen...

    Mit freundlichem Gruß
    Micha

  2. Hi,

    Also, ich möchte jedes Vorkommen von "\" durch "" ersetzen.

    eventuell sowas?
    $text =  preg_replace("/(\134\134)/i", "", $text);

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi,

      $text =  preg_replace("/(\134\134)/i", "", $text);

      ups, natuerlich eher so:
      $text =  preg_replace("/(\134\134\134\134)/i", "\", $text);

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
  3. Also, ich möchte jedes Vorkommen von "\" durch "" ersetzen.

    $string = strtr($string, array('\\' => '\'));