|
|
 |

|

 |

| Community » PHP: Allgemeines Forum |
|
Zeilenumbruch beibelassen
|
Seitenanfang |
| Hi, ich hab folgendes Problem: Ich habe ein Formular mit Zeile: Datum; Betreff und ein Nachrichtenfeld nach dem Senden werden die Daten in eine Textdatei geschrieben und von einem anderen PHP-Skript wieder ausgelesen. Nun möchte ich, dass die im Textfeld eingegebenen Zeilenumbrüche übernommen werden. Soweit ich das jetzt rausbekommen habe muss ich dazu nl2br verwenden... nur leider weiß ich ehrlich gesagt nicht wo... vielleicht kann mir jemand weiterhelfen... </head><body> <h3>Neuer Aktuell-Beitrag</h3> <form method="POST" action="<?php $PHP_SELF ?>"> <input type="hidden" name="send" value="1"> <p><span class="Stil1">Datum: <input type="text" name="datum" size="24"></p> <p><span class="Stil1">Betreff: <input type="text" name="betreff" size="24"></p> <p><span class="Stil1">Eintrag: <br><textarea rows="7" name="eintrag" cols="40"></textarea></p> <br><br> <p><input type="submit" value="Senden"> <input type="reset" value="Zurücksetzen"></p> </form> <?php if(isset($_POST[send])) { $datei = "/srv/www/htdocs/aktuell/aktuell.txt"; $gdatei = fopen($datei, "r+"); $inhalt = fread($gdatei, filesize ( $datei)); rewind($gdatei); fwrite($gdatei, "<hr>"); fwrite($gdatei, $_POST['datum']); fwrite($gdatei, "<br><br><b>"); fwrite($gdatei, $_POST['betreff']); fwrite($gdatei, "</b><br><br>"); fwrite($gdatei, $_POST['eintrag']); fwrite($gdatei, "<br><br>"); fwrite($gdatei, "\n\n"); fwrite($gdatei, $inhalt); $gdatei = nl2br($gdatei); fclose($gdatei); } ?> </body> </html>
Schonmal vielen lieben Dank Jessi
Datum: 10.11.2004-09:34

|
re: Zeilenumbruch beibelassen
|
Seitenanfang |
Sorry, hatte da einen kleinen Fehler drin
</head><body> <h3>Neuer Aktuell-Beitrag</h3> <form method="POST" action="<?php $PHP_SELF ?>"> <input type="hidden" name="send" value="1"> <p><span class="Stil1">Datum: <input type="text" name="datum" size="24"></p> <p><span class="Stil1">Betreff: <input type="text" name="betreff" size="24"></p> <p><span class="Stil1">Eintrag: <br><textarea rows="7" name="eintrag" cols="40"></textarea></p> <br><br> <p><input type="submit" value="Senden"> <input type="reset" value="Zurücksetzen"></p> </form> <?php if(isset($_POST[send])) { $datei = "/srv/www/htdocs/aktuell/aktuell.txt"; $gdatei = fopen($datei, "r+"); $inhalt = fread($gdatei, filesize ( $datei)); rewind($gdatei); fwrite($gdatei, "<hr>"); fwrite($gdatei, $_POST['datum']); fwrite($gdatei, "<br><br><b>"); fwrite($gdatei, $_POST['betreff']); fwrite($gdatei, "</b><br><br>"); fwrite($gdatei, $_POST['eintrag']); fwrite($gdatei, "<br><br>"); fwrite($gdatei, "\n\n"); fwrite($gdatei, $inhalt); fclose($gdatei); } ?> </body> </html>
Datum: 10.11.2004-09:37

|
re: Zeilenumbruch beibelassen
|
Seitenanfang |
| HI jessi! In deinem postscript würde ich es gar nicht einfügen, weil du vielleicht den text nochmal nutzen möchtest, ohne, dass er schon mit <br>-tags versehen ist. Also packe die nl2br-funktion ins auslese-script: Wenn du also den text ausliest: $deintext=nl2br($deintext);
Seit irgendeiner 4er Version von PHP setzt diese funktion allerdings statt <br> nun < br />, was xhtml-konform ist. Wenn du lieber <br> haben möchtest, kannst du auch schlicht dies hier verwenden:
preg_replace("\n","<br>\n",$deintext)
Datum: 14.11.2004-03:05

|
re: Zeilenumbruch beibelassen
|
Seitenanfang |
| Hm... also ich glaube irgendwie steh ich gerade aufm Schlauch... wie gesagt, dass mit dem "nl2br" hab ich auch schon gefunden, aber wo muss das hin, wenn ich den Text aus dem Textfeld bearbeitet haben möchte???
Datum: 16.11.2004-16:17

|
re: Zeilenumbruch beibelassen
|
Seitenanfang |
willst du den text erneut in einem textfeld bearbeiten? da musst du nichts tun, außer am besten sonderzeichen durch entites ersetzen (htmlentities ist die funktion in php), wenn du den inhalt der textarea dann in einer seite ausgeben willst als html, dann machst du im grunde einfach ein echo(nl2br($inhalt));
Datum: 16.11.2004-23:31

|
re: Zeilenumbruch beibelassen
|
Seitenanfang |
| Hi nochmal, also wahrscheinlich bin ich grad irgendwie zu doof dazu. Hatte nl2br jetzt glaube ich überall stehen, tut aber einfach nicht :( Nochmal zur Klärung: Ich hab das Textfeld mit der einen php datei und dann noch folgendes php um die Textdatei auszulesen - vielleicht sollte man auch irgendwie ganz anders an das Problem rangehen... <?php $aktuell = '/srv/www/htdocs/aktuell/aktuell.txt'; $aktuellneu = nl2br ($aktuell); require ($aktuellneu); ?>
Wär sooooo lieb wenn ihr mir helfen könntet, komme wirklich einfach nicht weiter... Lieben Dank Jessi
Datum: 18.11.2004-13:31

|
|

|

|

|
 |

|

|
|