[PHP] Probleem met newlines naar bestand schrijven. *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik word hier helemaal gek

ik heb 2 dezelfde scripts om een text naar een textfile te schrijven, de ene is alleen voor een quote database en de andere voor een news database..

het probleem is, is dat als ik bij het quote iets naar de textfile schrijf dat de enters niet over komen

dus ik doe:

Hallo
Hoe gaat het?


dan komt het zo in de textfile te staan:
Hallo Hoe gaat het?

waarom?, bij mijn news gedoe werkt het gewoon http://gijs.airliner.nl/news.php / http://gijs.airliner.nl/quotelist.php

ik gebruik deze code voor mijn quotes

[code=php]
<?php
$filename = "quotes.txt";
$quote = stripslashes($_POST["quote"]);
$username = stripslashes($_POST["username"]);


$news_date = date("l \\t\h\e jS");

$q_start = "<table width=\"600\" style=\"border-collapse: collapse\"><tr><td class=\"Ltable2\" width=\"50%\">";
$q_mid = "</td><td class=\"Ltable2\" width=\"50%\" align=\"right\">";
$q_mid2 = "</td></tr><tr><td class=\"Ltable\" width=\"600\" colspan=\"2\">";
$q_end = "</td></tr></table>";

$news = "$q_start$username$q_mid$q_date$q_mid2$quote$q_end\n";

if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
if (!fwrite($handle, $news)) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Click <a href=\"../quotelist.php\">here</a> to go back";
fclose($handle);

} else {
echo "The file $filename is not writable";
}
?>
[code]

en deze voor me news system:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$filename = "news.txt";
$text = stripslashes($_GET["news"]);
$subject = stripslashes($_GET["subject"]);


$news_date = date("l \\t\h\e jS");

$news_start = "<table width=\"600\" style=\"border-collapse: collapse\"><tr><td class=\"Ltable2\" width=\"50%\">";
$news_mid = "</td><td class=\"Ltable2\" width=\"50%\" align=\"right\">";
$news_mid2 = "</td></tr><tr><td class=\"Ltable\" width=\"600\" colspan=\"2\">";
$news_end = "</td></tr></table>";

$news = "$news_start$subject$news_mid$news_date$news_mid2$text$news_end\n";

if (is_writable($filename)) {
   if (!$handle = fopen($filename, 'a')) {
         echo "Cannot open file ($filename)";
         exit;
   }
   if (!fwrite($handle, $news)) {
       echo "Cannot write to file ($filename)";
       exit;
   }
   echo "Click <a href=\"../news.php\">here</a> to go back";
   fclose($handle);
                   
} else {
   echo "The file $filename is not writable";
} 
?>


kan iemand mij het verschil vertellen..??

bij het news system kan ik wel enter gebruiken, en bij me quotes niet.. :|

[ Voor 34% gewijzigd door Verwijderd op 27-02-2004 14:51 ]


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Een enter uit een textfield is weergegeven als een /n (weet niet helemaal zeker), kan ook \n zijn :>

Maar oke, voordat je stripslashes doet, kun je het beste die enter even vervangen door bijvoorbeeld een <br>

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Probeer de file eens te openen met fopen ( $filename, 'at' ) ipv 'a' als 2e parameter.

Fijne topictitel trouwens, probeer de volgende je probleem even kort te omschrijven in de topictitel.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 12:57

Robtimus

me Robtimus no like you

Noork schreef op 27 februari 2004 @ 14:52:
Een enter uit een textfield is weergegeven als een /n (weet niet helemaal zeker), kan ook \n zijn :>
\n dus ;)

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
str_replace("\n","<br/>",$jezooi)
Zou toch werken, of zie ik het fout?

Acties:
  • 0 Henk 'm!

Verwijderd

zou je het niet eens moeten zoeken in de routine die de text weer weergeeft... zie ook de html output van de news.php en quotelist.php...
zo te zien staan de enters er wel in maar in het eerste geval zijn ze vervangen door <br> en in het geval van de quotes niet

[ Voor 4% gewijzigd door Verwijderd op 27-02-2004 15:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 27 februari 2004 @ 14:55:
PHP:
1
str_replace("\n","<br/>",$jezooi)
Zou toch werken, of zie ik het fout?
bedankt, werkt goed

Acties:
  • 0 Henk 'm!

Verwijderd

(\n voor *nix, \r\n voor windows, \r voor mac). Dus zo iets zou moeten werken:

variabele.replace(/[\r\n]/g, '<br>'); javascript |:(

[ Voor 29% gewijzigd door Verwijderd op 27-02-2004 15:09 ]

Pagina: 1