login  Naam:   Wachtwoord: 
Registreer je!
 Overzicht:
Overzicht > PHP > Strings > nl2br()

Gebruik:
string nl2br ( string string)

Uitleg:
Deze functie voegt voor elke newline ('\n', '\r' of '\n\r') een '<br />' toe.

opmerking: voor PHP 4.0.5 wordt er <br> gebruikt, erna <br />. Dit is om XHTML compatible te zijn.


Voorbeeld:
<?php
$string
="Hallo,\nAlles goed ?\n\nBye";
$nieuwe_string=nl2br($string);
echo 
$nieuwe_string;
//Hallo,\n<br />Alles goed ?\n<br />\n<br />Bye
?>

Bijdragen :
nemesiskoen
@haytjes:
  1. $tekst = str_replace("<br />\n","\n",$tekst);
  2. $tekst = str_replace("<br />\r","\r",$tekst);
  3. $tekst = str_replace("<br />\n\r","\n\r",$tekst);

Is dit niet een beetje hetzelfde als:
  1. $tekst = str_replace("<br />", "", $tekst);

Of wordt het enkel vervangen ALS er ook \n, \r of \n\r voor staat?
Dolfje
Ik heb de uitleg van de functie veranderd omdat hij totaal niet klopte.
Gerard
Het idee wat stuifie oppert is leuk voor huidige systemen. Mijn tip aan nieuwe gebruikers is echter om nl2br() pas te gebruiken wanneer je de gegevens toont vanuit de database, niet wanneer je de gegevens in de database zet. Dit voorkomt dat je <br /> moet verwijderen wanneer je de gegevens uit de database inlaad in een formulier om bijvoorbeeld te editen.

Database systemen houden namelijk \n gewoon in stand wanneer zij de gegevens in de database wegzetten.
haytjes
een paar opmerkingen:
- voor PHP 4.0.5 wordt er <br> gebruikt, erna <br />. Dit is om XHTML compatible te zijn.
(ik ga er in het volgende stuk er vanuit dat je PHP 4.0.5+ gebruikt)
- nl2br() verandert de newlines niet naar <br />,
maar laat de newlines staan en voegt er vanvoren een <br /> aan toe.
- onder newlines verstaat nl2br() \n, \r en \n\r

vb.
  1. <?
  2. $string="Hallo,\nAlles goed ?\n\rBye\nBye";
  3. echo nl2br($string);
  4. //resultaat:
  5. /*
  6. Hallo,<br />
  7. Alles goed ?<br />
  8. Bye<br />
  9. Bye
  10. */
  11. ?>


@stuifie: ps: best ook \n\r en \r in je script te zetten
  1. <?
  2. function nlbr($tekst,$kant=0){
  3. if($kant != 1){
  4. $tekst = str_replace("\n","<br />\n",$tekst);
  5. $tekst = str_replace("\r","<br />\r",$tekst);
  6. $tekst = str_replace("\n\r","<br />\n\r",$tekst);
  7. } else {
  8. $tekst = str_replace("<br />\n","\n",$tekst);
  9. $tekst = str_replace("<br />\r","\r",$tekst);
  10. $tekst = str_replace("<br />\n\r","\n\r",$tekst);
  11. }
  12. return $tekst;
  13. }
  14. ?>

@dolfje, merci om het aan te passen
stuifie
@hierboven
kheb het aangepast ;)
  1. <?
  2. function nlbr($tekst,$kant=0){
  3. if($kant != 1){
  4. $tekst = str_replace("\n","<br />",$tekst);
  5. } else {
  6. $tekst = str_replace("<br />","\n",$tekst);
  7. }
  8. return $tekst;
  9. }
  10. ?>

echo nlbr("hier je tekst\ntekst");
verandert de \n in een <br />
echo nlbr("hier je tekst<br />tekst",1);
verandert de <br /> in een \n



© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.05s