Auge: Anführungsstriche entfernen

Beitrag lesen

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