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>
<b>Mulțumesc</b>
Greșeli frecvente
- Aplici
htmlspecialcharsdupănl2brși în pagină apare textul<br />. Ordinea corectă:nl2br(htmlspecialchars($text)). - Salvezi în baza de date textul după
nl2br. Salvează textul original și aplicănl2brdoar 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.