Ce face get_html_translation_table
get_html_translation_table îți arată exact ce caractere transformă htmlspecialchars (cu HTML_SPECIALCHARS) sau htmlentities (cu HTML_ENTITIES). Cheile tabloului sunt caracterele, iar valorile sunt entitățile.
Tabelul poate fi folosit cu strtr pentru conversii personalizate, de exemplu dacă vrei să transformi doar o parte din caractere.
Parametri
| Parametru | Descriere |
|---|---|
$table |
Opțional. HTML_SPECIALCHARS (implicit) sau HTML_ENTITIES. |
$flags |
Opțional. Aceleași opțiuni ENT_* ca la htmlspecialchars. |
$encoding |
Opțional. Codarea. Implicit UTF-8. |
Ce returnează
Un tablou caracter => entitate.
Exemple
Exemplul 1: Ce transformă htmlspecialchars
<?php
print_r(get_html_translation_table(HTML_SPECIALCHARS));
Rezultat
Array
(
["] => "
[&] => &
['] => '
[<] => <
[>] => >
)
Exemplul 2: Câte caractere are tabelul complet
<?php
$tabel = get_html_translation_table(HTML_ENTITIES);
echo count($tabel) . " caractere\n";
echo $tabel["€"] . " " . $tabel["é"] . " " . ($tabel["ș"] ?? "ș nu are entitate");
Rezultat
253 caractere
€ é ș nu are entitate
Greșeli frecvente
- Folosești tabelul ca să inversezi conversia cu
array_flip. Este mai simplu și mai corect să foloseștihtmlspecialchars_decodesauhtml_entity_decode.
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ă.strtr: Înlocuiește caractere sau texte după o listă de perechi, fără să înlocuiască de două ori același loc.