Bieck: Anführungsstriche entfernen

Hallo,

Ich möchte aus $str "," durch ; ersetzen
vorher:
$str='"test1","test2","test3,5","test4"';
Inhalt von $str nachher:
"test1;test2;test3,5;test4"

mein Versuch
$str='"test1","test2","test3,5","test4"';
$pattern = '","';
$replacement = ";";
$str=strtr($str,$pattern,$replacement);

führt nicht zum Ziel !

  1. Hallo Bieck,

    $str=strtr($str,$pattern,$replacement);

    soweit ich das versteh brauch strtr() ein Array als zweiten Parameter
    ->http://www.php.net/strtr

    aber warum nimmst du nicht einfach $str = str_replace("","",";",$str);?
    ->http://www.php.net/str-replace

    Grüße aus Nürnberg   <- Verabschiedung ist auch ganz nett
    Tobias

    --
    sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    (Selfcode -> http://emmanuel.dammerer.at/selfcode.html)
  2. Hi.

    Versuch mal die str_replace funktion:
    $str = str_replace(",", ";", $str);

    Mfg, Ralph

  3. Hallo

    mein Versuch
    $str='"test1","test2","test3,5","test4"';
    $pattern = '","';
    $replacement = ";";
    $str=strtr($str,$pattern,$replacement);

    strtr() kann _erstmal_ nur gleichlange Strings austauschen.
    Deine sind aber unterschiedlich lang: "," -> ;.
    Ab PHP 4.x geht es aber mit strtr() auch bequemer.

    zitat selfphp:
    --- schnipp ---
    Mit strtr() kann man innerhalb eines Strings (str) bestimmte Zeichen austauschen lassen. Dabei werden die Zeichen from durch die Zeichen to ersetzt. Sollten from und to von unterschiedlicher Länge sein, so werden die überzähligen Zeichen einfach ignoriert.
    --- schnapp ---

    Da ist wohl der Fehler. Doch die Lösung gleich hintendran:

    zitat selfphp:
    --- schnipp ---
    Diese Funktion kann seit der PHP-Version 4 mit zwei Parametern aufgerufen werden - der zweite Parameter muss dann ein Array sein, das die auszutauschenden Zeichen als Schlüssel enthält und die Ersatzzeichen als Werte. Bei dieser Variante kann die Funktion nicht nur einzelne Zeichen ersetzen, sondern ganze Teilstrings (auch unterschiedlicher Länge).
    --- schnapp ---

    $tausch = array('","'=>';');
    $str = strtr($str,$tausch);

    Das sollte es bringen.

    Tschö, Auge