Anzeige:
Ergebnis 1 bis 5 von 5

Thema: In Textarea Zeilenumbrüche zulassen

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.05.2010
    Beiträge
    93

    In Textarea Zeilenumbrüche zulassen

    Hallo.
    Ich habe einen Blog mit PHP geschrieben, bei dem die Einträge in einer .log-Datei gespeichert werden. Ich weiß, ist nicht schön, lieber mit Datenbank, aber ich hab im Moment nicht die Zeit, mich in Datenbanken einzuarbeiten. Also nehmt es so hin

    In meiner Datei wird jeder Datensatz durch eine neue Zeile dargestellt.
    Wenn ich jetzt aber in meiner textarea ENTER drücke, dann wird der neue Absatz in eine neue Zeile meiner Textdatei geschrieben. Jetzt suche ich eine Möglichkeit, den Zeilenumbruch in
    Code:
    <br>
    umzuwandeln, damit die Ausgabe nachher funktioniert.
    Im Moment lese ich die Zeile so ein:
    Code:
    $daten = $user."|".$_POST[eintrag].chr(10);
    Die Pipe ist mein Seperator in der Datei, um die einzelnen Felder auseinander zu halten.

    Ich hoffe, ihr versteht mein Problem, und habt eine Lösung für mich...
    Bin noch PHP-Neuling

  2. #2
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    nl2br und nutz davor htmlentities!!
    http://de3.php.net/nl2br

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.05.2010
    Beiträge
    93
    das funktioniert leider nicht :-(
    zwar hab ich dann die html entities da drin, aber selbst mit html_entity_decode in der ausgabe geht es nicht, weil er trotzdem in die neue zeile springt...

    Hier mal mein Code, der in die Datei reinschreibt:

    Code:
    $daten = ($user."|".$datum."|".$zeit."|".$_POST[eintrag].chr(10));
    	
    $eintrag = "blog.log";
    $datei   = fopen($eintrag, "a+");
    fwrite($datei, $daten);
    fclose($datei);
    und hier der für die Ausgabe:
    Code:
    $ausgabe = file("blog.log");
    $ausgabe = array_reverse($ausgabe);
    
    $n  = count($ausgabe);
    
    for( $i=0; $i<$n ; $i++ )
    {
    	$array[] = $ausgabe[$i];
    	$daten = $array[$i];
    	$daten = explode("|",$daten);
    
    	$user    = $daten[0];
    	$datum   = $daten[1];
    	$zeit    = $daten[2];
    	$eintrag = $daten[3];
    
    	$nr--;
    	
    	echo '<table>';
    	echo '<tr>';
    	echo '<td width=25 class="fett">'.$nr.'</td>';
    	echo '<td width=80 class="fett">'.$user.'</td>';
    	echo '<td width=80 class="fett">'.$datum.'</td>';
    	echo '<td width=65 class="fett">'.$zeit.'</td>';
    	echo '<td width=712>'.$eintrag.'</td>';
    	echo '</tr>';
    	echo '</table>';
    }

    Ich hoffe, ihr könnt damit was anfangen...

  4. #4
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    Hey,

    hab mir mal deinen Code angeschaut, und versucht was daraus zu machen. Das Ergebnis findest du im Anhang.

    HTH jeebee

    PS: Bitte nicht nur verwenden, sondern auch verstehen!
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

  5. #5
    Registrierter Benutzer
    Registriert seit
    08.05.2010
    Beiträge
    93
    danke
    hab gar nicht mit ner fertigen lösung gerechnet :-)
    deine lösung läuft bei mir auf dem rechner irgendwie nicht, aber ich hab den input-code herauskopiert, und bei mir rein, und es funktioniert so, wie ich es mir vorgestellt hab.

    jetzt werd ich herausfinden, warum es so funktioniert.


    danke nochmal für diese lösung!!!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •