strip_tags în PHP

Elimină etichetele HTML și PHP dintr-un text, păstrând doar conținutul.

Sintaxă
strip_tags(string $string, array|string|null $allowed_tags = null): string

Ce face strip_tags

strip_tags scoate toate etichetele (<p>, <b>, <script>…) și lasă textul dintre ele. Este utilă pentru rezumate, meta descrieri sau pentru a număra cuvintele dintr-un articol.

Prin $allowed_tags poți păstra unele etichete, ca text ("<b><i>") sau, din PHP 7.4, ca tablou (["b", "i"]).

Parametri

Parametru Descriere
$string Textul cu HTML.
$allowed_tags Opțional. Etichetele care rămân în text.

Ce returnează

Textul fără etichete.

Exemple

Exemplul 1: Text simplu dintr-un articol HTML

Etichetele dispar fără să lase un spațiu în locul lor, de aceea „Titlu” și „Primul” s-au lipit.

<?php
$html = "<h2>Titlu</h2><p>Primul paragraf cu <a href=\"/php/\">un link</a>.</p>";

echo strip_tags($html);

Rezultat

TitluPrimul paragraf cu un link.

Exemplul 2: Păstrarea unor etichete

Etichetele permise rămân cu tot cu atribute. În al doilea apel, <p> este permis și își păstrează atributul onclick, deci rezultatul nu este sigur de afișat.

<?php
$html = '<p onclick="alert(1)">Salut, <b>Ana</b>! <script>x()</script></p>';

echo strip_tags($html, "<b>") . "\n";
echo strip_tags($html, ["p", "b"]);

Rezultat

Salut, <b>Ana</b>! x()
<p onclick="alert(1)">Salut, <b>Ana</b>! x()</p>

Greșeli frecvente

  • Folosești strip_tags ca protecție împotriva XSS. Etichetele permise își păstrează atributele (onclick, onerror). Pentru afișare sigură folosește htmlspecialchars.
  • Te aștepți ca strip_tags să șteargă și conținutul din <script>. Șterge doar etichetele: textul x() rămâne.

Comenzi înrudite

  • htmlspecialchars: Transformă caracterele speciale HTML în entități, ca textul să fie afișat în siguranță în pagină.
  • htmlentities / html_entity_decode: Transformă în entități HTML toate caracterele care au o entitate (é devine &eacute;). html_entity_decode face operația inversă.
  • nl2br: Adaugă eticheta <br /> înaintea fiecărei linii noi, ca rândurile să apară separat în pagina HTML.