In PHP è possibile, grazie alla funzione predefinita strip_tags() per la gestione delle stringhe, eliminare i tag HTML da un testo.
Detto testo può essere contenuto in una variabile, in un database in un file XML e cosi via; una volta stampato a video, si può desiderare di “pulirlo” per un’esigenza piuttosto che per un’altra.
La funzione strip_tags() ha la seguente sintassi di base:
strip_tags(testo_da_valutare, tag_da_non_inibire)
Il primo parametro è obbligatorio, essendo il testo stesso da sottoporre alla funzione strip_tags(), mentre il secondo parametro è facoltativo e permette di specificare il tag HTML, o l’elenco dei tag, da non eliminare in fase di valutazione della stringa che li contiene.
Facciamo qualche esempio. Data la seguente variabile:
<?
$html = "<p>La funzione <b>strip_tags()</b></p>";
?>
che contiene due tag HTML, possiamo, attraverso il filtro con strip_tags (1) decidere di stampare a video il testo eliminando tutti i tag HTML, (2) non eliminare un tag HTML specificandolo, (3) non eliminare più tag HTML specificandoli.
Passiamo in rassegna i tre casi:
<?
// Elimino tutti i tag
echo strip_tags($html);
?>
<?
// Consento solo il tag "p"
echo strip_tags($html, "<p>");
?>
<?
// Consento i tag "p" e "b"
echo strip_tags($html, "<p><b>");
?>
La funzione stessa provvede a verificare se il tag ha chiusura e, in caso affermativo (il 99% dello scibile dei tag HTML) provvede ad eliminare anche la chiusura.
