Dateiexport aus MySQL und das verflxte \n

onebigman

Mitglied
Hallo,

Ich habe eine Datenbank(MySQL) mit Artikeldaten.

diese Daten werden über Formulare mit Textarea-Tag eingegeben.
dabei wurde öffters -ENTER- gedrückt innerhalb der Texteingabe!
Ich versuche alle Artikel aus der Datenbank zu lesen und Sie in eine Datei zu schreiben, doch leider habe ich nur mit den Zeilenumbruch in der Textdatei zu kämpfen!!!!

Aufbau meiner Datei:
|Artikel_id|Artikel|Beschreibung|Extra|Preis|\n

So, nun mein Problem:

ich habe alle HTML-und PHP-Tags entfert, anschließend habe ich mit den Zeilen:

$ersetzen = ";";
$artikel = ereg_replace("\n", $ersetzen,'$artikel');

versucht den Zeilenumbruch zu beseitigen, meine Datei sieht dann so aus:

|123|Aspire 1307LC|'AMD Athlon XP-M2200+
;15,0" XGA TFT Display
;2x256 MB DDR-RAM
;30GB ATA/100 Festplatte
;DVD/CD-RW Combo Laufwerk
;56K Modem ,10/100 Mbps LAN
;Li-Ion Akku'|'Windows XP Home Edition
;2 Jahre Bring-In Garantie
;1 Jahr I|'127500|

also, er ersetzt mir nicht das "\n" sondern macht nur "\n;"

was kann das sein???
 
probier's mal so:
PHP:
$ersetzen = ";";
$artikel = nl2br($artikel);
$artikel = eregi_replace("<br>",$ersetzen,$artikel);
bin mir jetzt aber nicht ganz sicher, ob du </> nicht noch maskieren musst.
 
Hallo,
probier mal follgendes... is nur eine Vermutung...

PHP:
$artikel = ereg_replace("(\r\n|\n|\r)", "$ersetzen",$artikel);

ciao

//edit: evtl. das "$ersetzten" auch ohne die ""... kanns jetzt leider nicht testen...
 
Zuletzt bearbeitet:
OK, sehr gut...

noch schnell eine Erklärung nachgeschoben :)

Ich denk mir mal du arbeitest unter Windows...
Windows verwendet für den Zeilenumbruch nicht nur \n sondern \r\n, Linux/Unix verwendet nur \n und der Mac sogar nur \r.

\r -> carriage return = Wagenrücklauf
\n -> line feed = Zeilenvorschub


ciao
 
Zurück