Toon posts:

[PHP]newline probleem

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik zit met een raar probleem, als ik het volgende post zet hij na elke lijn een extra newline. Hoe zou ik dit kunnen oplossen of wat doe ik fout ?

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
<?
if($_POST['post'] == 1 && is_writable("files/index.php"))
  {
    $handle = fopen ("files/index.php", 'wt');
    $text = $_POST['test'];
    $text = str_replace('/"', '"', $text);
    $text = nl2br($text);
    $text = str_replace('<br />', '', $text);
    fwrite($handle,$text);
    echo "Geshreven";
    fclose($handle);
  }
?>
<form method="post" action="index.php">
<textarea name="test" rows=30 cols=100 ><?php
$handle2 = fopen ("files/index.php", 'r');
while (!feof ($handle2)) {
   $buffer = fgets($handle2, 4096);
   echo $buffer;
}
fclose ($handle2);
?></textarea>
<input type="hidden" name="post" value="1">
<input type="submit" name="Submit" value="Send Form">
</form>

Verwijderd

Topicstarter
ok btw (by the way :7)
PHP:
1
2
    $text = nl2br($text); 
    $text = str_replace('<br />', '', $text);

negeer de code op regel 7 & 8 die was een test om te zien of ik het zo kon oplossen.

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 14-05 15:52
beetje vaag :?
Je doet eerst NL2BR en haalt vervolgens alle BR's er weer uit, waarom haal je die newlines er niet meteeen uit dan?
Overigens verwijderd nl2br de newline niet maar vervangt hij de newline door een "<br />newline"

Misschien gewoon str_replace("\n","",$text) ?

edit:

TS gaf al aan dat het een beetje vreemd was



edit:

Edit 2:
fwrite schrijft een regel, dus jouw text incl een newline. Dus als er al een newline in je text zit krijg je een lege regel.

[ Voor 44% gewijzigd door beetle71 op 16-03-2004 16:15 ]


Verwijderd

Als je eens begint met wat standaard debug werk:

PHP:
1
2
3
echo '<hr><pre>';
print_r($_POST['test']);
echo '</pre><hr>';


Vervolgens een duidelijk voorbeeld geven van wat er nu precies verkeerd gaat, want dat er extra newlines verschijnen is me wel duidelijk, alleen niet op welke locatie(s) precies.

Verder neem ik aan dat je controle op aanwezigheid van variabelen al van te voren gedaan is :?
Zomaar er vanuit gaan dat variabelen een bepaalde waarde hebben zonder te controleren of ze uberhaupt een waarde hebben is niet echt netjes te noemen.

[ Voor 8% gewijzigd door Verwijderd op 16-03-2004 16:20 ]


Verwijderd

Topicstarter
thanks _/-\o_
str_replace("\n","",$text)
dit lost het op (dom dat ik daar niet aan gedacht heb)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.