Hallo,
das Zeilenende-Zeichen musst Du aud den Feldern selber rausschmeißen bzw ersetzen. Denn Du brauchst es ja für die Textdatei als Satzende-Zeichen.
define ("CRLF",chr(13).chr(10));
define ("CR",chr(13));
define ("LF",chr(10));
define ("WS",chr(32));
define ("N","<br />");
define ("SEP",chr(8));
define ("RET",chr(127));
//-----------------------------------------------------------------------------
function clean($var) // vor der Speicherung in einer Textdatei
{
$var = str_replace(CRLF,RET,$var); // kommt vom Windows-Client
$var = str_replace(CR,RET,$var); // kommt vom MAC-Client
$var = str_replace(LF,RET,$var); // kommt vom Unix-Client
$var = str_replace(SEP,WS,$var); // Variablen-Seperator entfernen
return $var;
}
//-----------------------------------------------------------------------------
function restore($var) // Zur Darstellung in einer Textarea
{
$var = str_replace(RET,"\n",$var); // Umbruch wiederherstellen
$var = htmlentities($var);
$var = stripslashes($var); // Magic-Quotes entfernen
return $var;
}
//-----------------------------------------------------------------------------
function file2html($var) // zur Darstellung in normalem HTML-Text
{
$var = str_replace(RET,"\n",$var); // Umbruch wiederherstellen
$var = htmlentities($var);
$var = stripslashes($var); // Magic-Quotes entfernen
$var = nl2br($var);
return $var;
}
//-----------------------------------------------------------------------------
Schau mal, ob Du damit glücklich wirst. Hat mir so schon länger gute Diesnte geleistet. Bei der Gelegenheit: Zur Speicherung in einer mysql-Datenbank ist mysql_escape_string() NICHT geeignet, wenn #13#10 in den Strings stehen. Das Ding ist nicht konsequent zuende gedacht.
Liebe Grüße aus http://www.braunschweig.de
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.