Ce face htmlspecialchars_decode
htmlspecialchars_decode este inversul lui htmlspecialchars. Transformă doar cele cinci entități speciale: &, <, >, " și '. Alte entități, de exemplu é, rămân neschimbate; pentru ele folosește html_entity_decode.
O folosești când ai nevoie de textul original, de exemplu ca să îl scrii într-un fișier text sau într-un email simplu, nu ca să îl afișezi în pagină.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul cu entități. |
$flags |
Opțional. Implicit sunt transformate înapoi și ghilimelele simple și duble. |
Ce returnează
Textul cu entitățile transformate în caractere.
Exemple
Exemplul 1: Dus și întors
<?php
$original = 'Preț <b>"redus"</b> & livrare gratuită';
$sigur = htmlspecialchars($original);
echo $sigur . "\n";
echo htmlspecialchars_decode($sigur);
Rezultat
Preț <b>"redus"</b> & livrare gratuită
Preț <b>"redus"</b> & livrare gratuită
Exemplul 2: Doar entitățile speciale sunt transformate
<?php
echo htmlspecialchars_decode("<i>Café</i> & ceai");
Rezultat
<i>Café</i> & ceai
Greșeli frecvente
- Afișezi în pagină rezultatul lui
htmlspecialchars_decodepe un text primit de la utilizator. Codul HTML redevine activ și site-ul devine vulnerabil la XSS.
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 é). html_entity_decode face operația inversă.get_html_translation_table: Returnează tabelul de conversie caracter => entitate folosit de htmlspecialchars sau htmlentities.