nl2br în PHP

Adaugă eticheta <br /> înaintea fiecărei linii noi, ca rândurile să apară separat în pagina HTML.

Sintaxă
nl2br(string $string, bool $use_xhtml = true): string

Ce face nl2br

Browserul ignoră liniile noi din text. nl2br pune <br /> înaintea fiecărui \n (sau \r\n), astfel încât un text scris pe mai multe rânduri într-un formular să fie afișat la fel în pagină.

Liniile noi nu sunt șterse, ci doar precedate de etichetă. Cu $use_xhtml = false se pune varianta <br> (PHP 5.3+).

Parametri

Parametru Descriere
$string Textul cu linii noi.
$use_xhtml Opțional. true (implicit) pune <br />, false pune <br>.

Ce returnează

Textul cu etichetele <br> adăugate.

Exemple

Exemplul 1: Adresă scrisă pe mai multe rânduri

<?php
$adresa = "Str. Lăpușneanu 12\nIași\nRomânia";

echo nl2br($adresa);

Rezultat

Str. Lăpușneanu 12<br />
Iași<br />
România

Exemplul 2: Comentariu de la un vizitator, afișat în siguranță

Întâi htmlspecialchars, ca să neutralizezi HTML-ul, apoi nl2br. În ordine inversă, <br>-urile ar fi și ele transformate în text.

<?php
$comentariu = "Articol util!\n<b>Mulțumesc</b>";

echo nl2br(htmlspecialchars($comentariu), false);

Rezultat

Articol util!<br>
&lt;b&gt;Mulțumesc&lt;/b&gt;

Greșeli frecvente

  • Aplici htmlspecialchars după nl2br și în pagină apare textul &lt;br /&gt;. Ordinea corectă: nl2br(htmlspecialchars($text)).
  • Salvezi în baza de date textul după nl2br. Salvează textul original și aplică nl2br doar la afișare.

Comenzi înrudite

  • htmlspecialchars: Transformă caracterele speciale HTML în entități, ca textul să fie afișat în siguranță în pagină.
  • strip_tags: Elimină etichetele HTML și PHP dintr-un text, păstrând doar conținutul.
  • wordwrap: Împarte un text lung pe mai multe rânduri, fără să rupă cuvintele.