Autor |
Nachricht |
The Professor
Threadersteller
Dabei seit: 24.05.2004
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Fr 01.04.2005 13:32
Titel Zeilenumbruch beim Auslesen einer Textdatei |
|
|
Hi,
habe ein Formular mit Textfeld, den Inhalt übergebe ich mittels POST
nun möchte ich den Text ausgeben aber nach xzeichen einen zeilenbruch erzwingen
funktioniert aber nicht und ich weiß net warum ?
vielleicht kann mir jemand weiterhelfen
hier der code:
<?php
$newsinput=$_POST['news'];
$neuertext = wordwrap($newsinput, 8 );
$datei=fopen ("newsread.txt","w+");
fwrite($datei, "$neuertext");
fclose ($datei);
echo "Ihre News wurden erfolgreich aktualisiert!"
?>
----
und die ausgabe erfolgt mittels include
Zuletzt bearbeitet von The Professor am Fr 01.04.2005 13:42, insgesamt 1-mal bearbeitet
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 01.04.2005 13:43
Titel
|
|
|
ich würde sagen, funktioniert schon .. nur wenn der text einge-
bunden wird, solltest du nen nl2br() anwenden .. sonst wird der
zeilenumbruch nicht "browsertauglich"
|
|
|
|
|
Anzeige
|
|
|
The Professor
Threadersteller
Dabei seit: 24.05.2004
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Fr 01.04.2005 13:58
Titel
|
|
|
okay und den nl2br() muss ich dann wo einsetzen?
weil ich doch mit wordwrap auch umbrüche erzwinge oder??
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 01.04.2005 14:21
Titel
|
|
|
du erwzingst sicher nen zeilenumbruch, aber einen den der browser
nicht kennt.
schreibste:
Code: | <html>
<body>
text
text
text
</body>
</html> |
ist das genau so ein umbruch wie du ihn erzeugst. dein browser
stellt trotzdem alles artig hintereinander.
verwendung von nl2br() kannste auf http://www.php.net/nl2br
nachlesen.
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Fr 01.04.2005 20:57
Titel
|
|
|
was steht denn in deiner datei drin? html-code?
wordwrap() erzeugt einen zeilenumbruch. das ist richtig. hilft dir dann aber nicht, weil du in html-code soviele whitespaces (also zeilenumbrüche, leerzeilen, tabstops,...) setzen kannst, wie du willst. die werden nicht angezeigt.
einen zeilenumbruch macht mit in html mit <br> und dazu könnte man dann die funktion nl2br() einsetzen, die zeilenumbrüche (\n) in <br> verwandelt.
ich glaube aber, daß nl2br() nur das LF als zeilenumbruch ansieht. mit dem CR gibt es probleme. zumindest hatte ich früher damit probleme und mac-zeilenumbrüche wurden nicht umgewandelt. vielleicht hat sich das aber in aktueller php-version geändert.
notfalls müßte man das aber halt manuell machen, indem man nach ascii 13 und ascii 10 sucht und das dann durch ein <br> oder <br/> ersetzt.
und wenn es sich nicht um html-code handelt und das ganze nicht funktioniert, dann liegt das möglicherweise daran, daß die verschiedenen betriebssysteme andere zeilenendungen verwenden...
dann aber noch ein paar worte zu deinem code. der sieht recht fahrlässig aus.
Code: | $newsinput=$_POST['news']; |
du übernimmst hier einfach eingaben, ohne die irgendwie zu überprüfen... du mußt alle eingaben von außen als "böse" ansehen! das muß geprüft und notfalls bereinigt werden.
ich weiß nicht, was mit der eingabe passieren und wofür sie genau verwendet werden soll. je nachdem solltest du html-tags, sql-code, sonderzeichen, etc. entfernen.
dafür gibt es funktionen wir striptags(), mysql_escape_string(), addslashes, htmlspecialchars() und andere.
Code: | $datei=fopen ("newsread.txt","w+");
fwrite($datei, "$neuertext");
fclose ($datei);
echo "Ihre News wurden erfolgreich aktualisiert!" |
wuah!
was passiert, wenn die datei nicht zum schreiben geöffnet werden kann? du solltest in jedem fall mögliche fehler abfangen.
und wieso wird die datei hier auch zum lesen geöffnet, obwohl nichts daraus gelesen wird?
|
|
|
|
|
|
|
|
Ähnliche Themen |
[php] zeilenumbruch nach auslesen von textdatei [solved]
PHP: Textdatei auslesen und sortieren, wie?
Textdatei zeilenweise auslesen und anzeigen
dynamische Variablennamen aus Textdatei auslesen
[PHP] Textdatei gezielt auslesen - nach Daten suchen
[PHP] Textdatei mit BOM ausgeben?
|
|