Thomas Schmieder: Gästebuch programmieren

Beitrag lesen

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.