perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 26
Click for quality!




11.02.2012 / 20:35

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  PHP: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragZeilenumbruch 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

Beitragre: 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

Beitragre: 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

Beitragre: 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

Beitragre: 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

Beitragre: 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

-






-
-