Zeilenumbruch in Textdatei und aus Textdatei !?!
Mike
- php
Hi,
ich komme einfach nicht klar!
Ich schreibe über ein Formular einen Text in eine <textarea>.
Das Formular schickt an php den Inhalt der Variable von <textarea>.
Dort wird es so in ein textfile geschrieben:
$text1 = "<div id=\"bla\" onclick=\"openDialog1(this,'$TextAusTextarea'')\"> </div> \r\n"; // Dateiinhalt
$dateiname1 = "Test.txt"; // Name der Datei
$handler = fOpen($dateiname1, "a+"); // Datei zum Text anhängen öffnen
fWrite($handler, $text1); // Dateiinhalt in die Datei schreiben
fClose($handler); // Datei schließen
Auf einer anderen Seite lese ich die Textdatei mit php wieder aus:
readfile("Test.txt");
Nun steht ja mein DIV schön im Quelltext und kann angezeigt werden!
Ich rufe im DIV über "onclick" mit der Javascriptfunktion openDialog1() ein Fenster auf und das enthät dann den Text der Textarea!
Jetzt werden aber keine Zeilenumbrüche angezeigt die im Formular mittels ENTER eingegeben wurden!
Ich hätte es gern formatiert wie der der User eingibt!
Jmd ne Idee???
DANKEEEEEEEEEEEEE
EDIT:
Vorgabe ist das der Text in der Textdatei in einer Zeile steht!
So hier:
<div id="bla" onclick="openDialog1(this,''Hallo [UMBRUCH] ich will [UMBRUCH] das so sehen!!!')" </div>
Die Umbrüche werden erkannt wenn ich händisch \n eintrage!
Also muss \n irgendwie an jede Stelle eines Umruches!
Der User gibt in einem <textarea> ein, das "\n" als Umbruch erkennt.
Du gibst Text in einem <div> aus, und verschweigst uns aber dein CSS zu diesem div, weshalb ich nur rätseln kann, dass du bezüglich white-space keine geeignete Massnahme ergriffen hast.
mfg Beat
Hi Beat,
ich weiß jetzt nicht genau ob das klar geworden ist...
Das "\n" steht nicht in der Textdatei wenn es beschrieben wurde. Das habe ich zum Testen nachträglich eingefügt!
--------------------------------
Was genau brauchst du um nicht rätseln zu müssen?
Ich hatte das hier aus dem DIV entfernt, weil ich dachte es spielt keine Rolle *g*
style="font-size: 0px; position:absolute; top:154px; left:841px; cursor:pointer;"
white-space? da muss ich mich mal einlesen!
Also ich glaube "white-space:pre-warp;" ist nicht die Lösung die ich suche!
erstens klappt es nicht *g*
und
zweitens soll ja der Text in einer Zeile in der Textdatei stehen. Die Umbrüche sollen darin mit \n gesetzt werden!
Wie gehtn das???
Also ich glaube "white-space:pre-warp;" ist nicht die Lösung die ich suche!
erstens klappt es nicht *g*
was bei "white-space:pre-warp;" auch nicht verwundert.
und
zweitens soll ja der Text in einer Zeile in der Textdatei stehen. Die Umbrüche sollen darin mit \n gesetzt werden!
In einer Text-Datei IST ein "\n" ein Umbruch, und dieser definiert somit "Zeilen", so dir das lieb ist.
In geparstem HTML ist aber "\n" _nur_ whitespace, sofern keine CSS-Regel (kann das Browser DefaultStyleSheet sein) einem Element die Eigenschaft white-space:pre zuweist.
mfg Beat
echo $begrüßung;
Ich schreibe über ein Formular einen Text in eine <textarea>.
Das Formular schickt an php den Inhalt der Variable von <textarea>.
Dort wird es so in ein textfile geschrieben:[code lang=php]
$text1 = "<div id="bla" onclick="openDialog1(this,'$TextAusTextarea'')"> </div> \r\n"; // Dateiinhalt
Hast du dir schon einmal Gedanken gemacht, was passiert, wenn jemand ' eingibt?
$dateiname1 = "Test.txt"; // Name der Datei
$handler = fOpen($dateiname1, "a+"); // Datei zum Text anhängen öffnen
fWrite($handler, $text1); // Dateiinhalt in die Datei schreiben
fClose($handler); // Datei schließen
Was ist, wenn mehrere Nutzer gleichzeitig arbeiten und sich beim Schreiben der Datei gegenseitig in die Quere kommen? Hast du dich schon mit dem Sperren von Dateien beschäftigt?
Ich rufe im DIV über "onclick" mit der Javascriptfunktion openDialog1() ein Fenster auf und das enthät dann den Text der Textarea!
In welchem Kontext steht dann der auszugebende Text? HTML, Plaintext, was ganz anderes?
Jetzt werden aber keine Zeilenumbrüche angezeigt die im Formular mittels ENTER eingegeben wurden!
Jmd ne Idee???
Ersetze die Zeilenumbrüche durch eine kontextgerechte Notation.
echo "$verabschiedung $name";
Hast du dir schon einmal Gedanken gemacht, was passiert, wenn jemand ' eingibt?
»»
Klar dafür hab ich Zeichenabfrage!
Hast du dich schon mit dem Sperren von Dateien beschäftigt?
Nein, stimmt. sollte ich tun!
Evtl. schreibe ich alles in eine Datenbank aber die Textdati schien mir zuerst einfacher... mal sehn!
In welchem Kontext steht dann der auszugebende Text? HTML, Plaintext, was ganz anderes?
HTML
Ersetze die Zeilenumbrüche durch eine kontextgerechte Notation.
Wie macht man das?
Hi,
nachmal überlegt:
Wenn das Formular über php in meine Text schreibt... dann gibt es ja "\r\n" in der Variablen mit... welche dann in der Textdatei als Zeilenumrüche angezeigt werden!
Also wie kann ich gleich beim schreiben in die Textdatei die "\r\n" also solchen mitgeben?
Da gibt es doch sicher ein paar Funktiönchen :)
Danke
echo $begrüßung;
Also wie kann ich gleich beim schreiben in die Textdatei die "\r\n" also solchen mitgeben?
Da gibt es doch sicher ein paar Funktiönchen :)
String-Ersetzung mit str_replace() in <br> bzw. <br />. nl2br() ist hier nicht anwendbar, denn das ersetzt nicht sondern ergänzt.
echo "$verabschiedung $name";
String-Ersetzung mit str_replace() in <br> bzw. <br />. nl2br() ist hier nicht anwendbar, denn das ersetzt nicht sondern ergänzt.
Mensch... ich habe das schon vorher versucht in die Textdatei händisch <br> einzutragen und es wurde mit als solchen wieder ausgegeben ...
ABER...
schau her, nun geht es!
Naja... also:
$newbeschreibung = str_replace("\r\n", "<br>", $beschreibung);
Hats gebracht!
DANKE SCHÖN!!! FINDS TOLL WENN MAN HILFE BEKOMMT! WEITER SO!
Mike