Mailinglisten-Archive | 
Lutz Zetzsche schrieb:
>Hi,
>
>LB schrieb:
>  
>
>>ich glaube ich habe den fehler.
>>ich musste noch irgendwo bei m testen die erste version:
>>
>>$csv = preg_replace("/\\\"(.*)\\\"/", "$1", $csv);
>>
>>stehen gehabt haben.
>>
>>hier findet er mit .* wohl auch die backslashes
>>    
>>
>
>na, dann ging meine Vermutung ja in die richtige Richtung. Ich verstehe
>nicht besonders viel von regulären Ausdrücken, aber diese
>Referenz-Variable $1 könnte Dir den zusätzlichen Backslash in die Daten
>geschmuggelt haben. Das kannst Du ja ganz einfach herausbekommen. ;-)
>
>
>Viele Grüße
>
>Lutz
>
>  
>
hallo nochmal,
also nun hab ich nochmal rumgetestet. folgendes:
ich lese eine datei ein, in der steht: "A";"B";"C"
echo($csv); //ausgabe: \"A\";\"B\";\"C\"
nun mache ich:
$csv = preg_replace('/\\"([^(\")\r\n]*)\\"/','$1',$csv);
ergibt:
echo($csv); //ausgabe: \"A\";\"B\";\"C\"
wenn ich jedoch preg_replace('/\\\\"([^(\\\")\r\n]*)\\\\"/','$1',$csv);
mache, gehts.
da scheinen irgendwie mehr backslashes drin zu stehen, als wenn ich 
direkt einen string in das script schreibe, der genauso aussieht wie die 
ausgabe von dem eingelesenen ($csv = "\"A\";\"B\";\"C\""), denn da 
funktioniert es mit dem ersten preg-ausdruck.
    php::bar PHP Wiki - Listenarchive