maskieren
am 06.09.2006 10:06:28 von letters
Hallo,
es geht immer noch um meine csv Datei.
Ich habe es nun soweit geschafft, das alles eigentlich alles funktioniert.
Da tut sich ein neues Problem auf. Manche Spalten der CSV Datei sind in
".." gesetzt. Das muß auch hinterher wieder so sein, wenn die CSV aus der
DB neu gechrieben wird. Kein Problem, habe ich htmlentities benutzt. Nun
kann sicih aber dieses Zeichen ändern. Also habe ich es in einer Variablen
gespeichert. In der Variablen enclosed steht nun mein ". Nun schreibe ich
$temp = ereg_replace($enclosed,htmlentities($enclosed),$inserts[$i]) ;
Funktioniert. Aber in meiner DB steht jetzt
"12548sdfkshgsdghdghds4542"
Wenn ich aus der DB die geänderten Daten wieder in eine CSV Datei bringen
will, muß ich " wieder "zurück verwandeln". Da ich aber nich weis, was
in der CSV für ein Sonderzeichen benutzt wird, muß ich jetzt alle möglichen
htmlentities in eine Funktion packen um auch jede Möglichkeit zu haben, das
Zeichen wieder herstellen zu können. Also wollte ich es einfach nur
maskieren. Wenn ich an statt " einfach \" schreibe, erfüllt das den
gleichen Zweck. Beim schreiben der CSV Datei kann ich dann den Slash ja
einfach rausschneiden. Das Problem liegt jetzt bei meiner Variablen für das
Sonderzeichen. Das " steht ja in der Variablen $enclosed. Scheibe ich nun
"\$enclosed", so wird das Dollarzeichen maskiert und meine Variable ist im
Eimer. Schreibe ich aber "\\$enclosed" dann wird \\" daraus. Das gibt
wieder einen Fehler beim Schreiben in der DB. Wie bekomme ich mit meiner
Variablen $enclosed und dem Slash diese Ausgabe \" ??????
mfg
Mathias
Re: maskieren
am 06.09.2006 10:10:44 von letters
Am Wed, 6 Sep 2006 10:06:28 +0200 schrieb Mathias Fiedler:
Hallo,
da hätte ich auch früher draufkommen können.
$temp = ereg_replace($enclosed,addslashes($enclosed),$inserts[$i]);
macht genau, was ich will.
mfg
Mathias
> Hallo,
> es geht immer noch um meine csv Datei.
> Ich habe es nun soweit geschafft, das alles eigentlich alles funktioniert.
> Da tut sich ein neues Problem auf. Manche Spalten der CSV Datei sind in
> ".." gesetzt. Das muß auch hinterher wieder so sein, wenn die CSV aus der
> DB neu gechrieben wird. Kein Problem, habe ich htmlentities benutzt. Nun
> kann sicih aber dieses Zeichen ändern. Also habe ich es in einer Variablen
> gespeichert. In der Variablen enclosed steht nun mein ". Nun schreibe ich
> $temp = ereg_replace($enclosed,htmlentities($enclosed),$inserts[$i]) ;
> Funktioniert. Aber in meiner DB steht jetzt
> "12548sdfkshgsdghdghds4542"
> Wenn ich aus der DB die geänderten Daten wieder in eine CSV Datei bringen
> will, muß ich " wieder "zurück verwandeln". Da ich aber nich weis, was
> in der CSV für ein Sonderzeichen benutzt wird, muß ich jetzt alle möglichen
> htmlentities in eine Funktion packen um auch jede Möglichkeit zu haben, das
> Zeichen wieder herstellen zu können. Also wollte ich es einfach nur
> maskieren. Wenn ich an statt " einfach \" schreibe, erfüllt das den
> gleichen Zweck. Beim schreiben der CSV Datei kann ich dann den Slash ja
> einfach rausschneiden. Das Problem liegt jetzt bei meiner Variablen für das
> Sonderzeichen. Das " steht ja in der Variablen $enclosed. Scheibe ich nun
> "\$enclosed", so wird das Dollarzeichen maskiert und meine Variable ist im
> Eimer. Schreibe ich aber "\\$enclosed" dann wird \\" daraus. Das gibt
> wieder einen Fehler beim Schreiben in der DB. Wie bekomme ich mit meiner
> Variablen $enclosed und dem Slash diese Ausgabe \" ??????
>
> mfg
>
> Mathias
Re: maskieren
am 06.09.2006 16:52:05 von Norbert Melzer
Am Wed, 6 Sep 2006 10:10:44 +0200 schrieb Mathias Fiedler:
> Am Wed, 6 Sep 2006 10:06:28 +0200 schrieb Mathias Fiedler:
> Hallo,
> da hätte ich auch früher draufkommen können.
> $temp = ereg_replace($enclosed,addslashes($enclosed),$inserts[$i]);
> macht genau, was ich will.
Bitte lies
8.2. Soll ich ereg() oder preg() verwenden?
http://www.php-faq.de/q/q-regexp-ereg.html
dazu gilt ereg wird wohl aus PHP 6 verschwinden.
[TOFU entsorgt]
Und bitte beachte auch die Sig...
--
Das Vorhandensein DIESER Signatur hat meist etwas mit der
Zitierunfähigkeit des Vorposters zu tun, daher wird die Lektüre von
http://learn.to/quote und http://einklich.net/usenet/zitier.htm
nahegelegt