nl2br

Status
Niet open voor verdere reacties.

tiran818

Gebruiker
Lid geworden
16 apr 2009
Berichten
344
ik heb een vraagje over het gebruik van nl2br
ik gebruik het in een gastenboek en het werkt perfect
op 1 ding na
de line breaks genereert ie als <br /> zoals jullis wel weten is da XHTML
weet iemand hier een manier om daar <br> van te maken (de gewone HTML break)?
alvast bedankt :)

MvG
Sander
 
waarom? XHTML is nieuwer enzo, wordt door meer dingen ondersteund - maar het maakt verder niet zoveel verschil eigenlijk.

Als je t echter heeel erg graag weg wil hebben:
PHP:
function nl3br($str)
{
   return str_replace('<br />','<br>',nl2br($str));
}
oid.
 
o ja dat kan natuurlijk ook :)
gewn later vervangen
maar ik dacht eigenlijk dat er een speciaal iets was wat je bij je nl2br kan typen om te zorgen dat ie dat automatisch doet XD
XHTMl is nieuwer idd
maar ik zocht een manier om het door W3c.org te laten checken met een HTML doctype en dan krijg ik dus foutmeldingen omdat ik XHTML gebruik.
t is niet echt hard nodig maar ik wou gewn graag weten of het mogelijk was :)
 
XD
ik krijg het nog steeds niet voor elkaar
ik weet niet hoe ik hem hier in moet vogen om hem te laten werken
hieronder de code van de actie die wordt uitgevoerd
ik gebruik in mijn formulier de velden naam, email, woonplaats en bericht
voor de breaks maakt het natuurlijk alleen uit wat er gebeurd met het bericht
want wie gaat er nou breaks in zijn naam toevoegen XD

als ik hier:
PHP:
$bericht = nl2br($bericht);
dit:
PHP:
$bericht = nl2br($bericht, false);
van maak dan werkt het niet. dat zou vlgns mij de meest logische manier zijn
ik heb er nog een paar geprobeerd maar geen schijnt te werken XD
het zit me echt dwars want het zou heel simple moeten zij

PHP:
<?php
    
$datum = date("d.m.y H:i");
$bericht = htmlentities($_POST['bericht']);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);

// defineer het bestand met berichten
$file = "posts.php";

// open het bestand
$fopenr = fopen ($file, "r"); 

// sla de inhoud op om de eerder toegevoegde berichten
// te onthouden en te herschrijven onder het nieuwe bericht
$msgs = fread ($fopenr, filesize ($file)); 

// open de file nogmaals maar dan nu om er in te schrijven
$fopenw = fopen($file, "w+");

// schrijf nieuwe bericht + alle oude in $file
fwrite($fopenw, "
\n\n<!-- bericht -->\n
<div class=\"gastenboek\">
<table><tr><td>
<b>".$_POST['naam']."</b> <a href=\"mailto:".$_POST['email']."\"> ".$_POST['email']."</a><br>\n
<blockquote><p>$bericht</p></blockquote>\n
<p>".$_POST['woonplaats']." - $datum</p></td></tr></table></div>$msgs
"); 

// sluit het bestand
fclose($fopenw);

require("gastenboek.php");
?>

bedankt voor de hulp iig :)
MvG
tiran818
 
Laatst bewerkt:
Wat komt er dan in de file terecht? Houd je er rekening mee dat het niet achteruit gaat? Alleen nieuwe berichten komen met <br> erin, en de code die je geeft zou moeten werken hoor...

Kun je eens de file leeggooien, en een paar nieuwe entries erin zetten, en die laten zien?
 
Wat komt er dan in de file terecht? Houd je er rekening mee dat het niet achteruit gaat? Alleen nieuwe berichten komen met <br> erin, en de code die je geeft zou moeten werken hoor...

Kun je eens de file leeggooien, en een paar nieuwe entries erin zetten, en die laten zien?

ik heb al een paar keer de file leggegooid, elke keer dat ik iets nieuws testte eigenlijk XD

met dit stukje code:
PHP:
$bericht = nl2br($bericht, false);
zou ik niet weten of wel hoort te werken maar ik krijg deze melding:

Warning: Wrong parameter count for nl2br() in C:\wamp\www\sander.fam-teunissen\gastenboek\action.php on line 6

in de post mist alleen het bericht

line 6 is waar de code staat dus dan is het zo dat ie false geen goede paramete vindt toch?
 
Laatst bewerkt:
Jep. Het lijkt erop dat je een oudere versie van PHP hebt; ze hebben die 2e zo te zien pas in 5.3.0 toegevoegd :(

Dan zul je toch de nl3br moeten gebruiken die iemand hier al neergezet heeft :)
 
XD
dit werkt ook niet XD
zet ik het er verkeerd in?
ik ehb het zo:
PHP:
function nl3br($str)
{
   return str_replace('<br />','<br>',nl2br($str));
}
en zo:
PHP:
function nl3br($bericht)
{
   return str_replace('<br />','<br>',nl2br($bericht));
}
geprobeerd

mijn php ziet er zo uit:
PHP:
<?php
    
$datum = date("d.m.y H:i");
$bericht = htmlentities($_POST['bericht']);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);


// defineer het bestand met berichten
$file = "posts.php";

// open het bestand
$fopenr = fopen ($file, "r"); 

// sla de inhoud op om de eerder toegevoegde berichten
// te onthouden en te herschrijven onder het nieuwe bericht
$msgs = fread ($fopenr, filesize ($file)); 

// open de file nogmaals maar dan nu om er in te schrijven
$fopenw = fopen($file, "w+");

// schrijf nieuwe bericht + alle oude in $file
fwrite($fopenw, "
\n\n<!-- bericht -->\n
<div class=\"gastenboek\">
<table><tr><td>
<b>".$_POST['naam']."</b> <a href=\"mailto:".$_POST['email']."\"> ".$_POST['email']."</a><br>\n
<blockquote><p>$bericht</p></blockquote>\n
<p>".$_POST['woonplaats']." - $datum</p></td></tr></table></div>$msgs
"); 
   
function nl3br($bericht)
{
   return str_replace('<br />','<br>',nl2br($bericht));
}

// sluit het bestand
fclose($fopenw);

require("gastenboek.php");
?>
 
ja... Je roept de functie nl2br aan, niet nl3br:
PHP:
$bericht = nl2br($bericht);
(regel 5)

maar daar dus een 3 van ipv een 2 :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan