Eliminare i tag HTML con ASP e PHP

Pubblicato da Luca Ruggiero nella categoria Server Scripting » » »

In molte occasioni i Webmaster hanno l'esigenza di rimuovere il codice HTML da un testo. Ad esempio, quando si deve far comparire solo una porzione di un testo a corredo di una serie di link, come ad esempio nella homepage del mio blog in cui il testo viene anche tagliato ed alla fine vengono messi i puntini (ma lo vedremo in un altro post).

In questo post vediamo come eliminare i tag HTML sia con ASP che con PHP.

La funzione strip_tags di PHP

PHP mette a disposizione degli sviluppatori la funzione predefinita strip_tags, la cui sintassi è la seguente:

<?PHP
    $stringa = "<p>Eliminare i tag HTML con <b>PHP</b></p>";
    echo strip_tags($stringa);
?>

I tag HTML, filtrati dalla funzione strip_tags, verranno tempestivamente rimossi e resterà solo il testo.

In PHP, attraverso questa funzione predefinita, è possibile anche impostare come parametro opzionale i tag da escludere dal controllo:

<?PHP
    $stringa = "<p>Eliminare i tag HTML con <b>PHP</b></p>";
    echo strip_tags($stringa, "<p>");
?>

In questo caso verrà rimosso solo il grassetto, ma non il paragrafo.

La funzione StripTags creata apposta per ASP

ASP non dispone di un'equivalente funzione predefinita, ma è possibile scriverne una ad hoc, che chiameremo StripTags, utilizzando le espressioni regolari ed eliminando tutto ciò che è compreso tra i simboli minore (<) e maggiore (>) simboli compresi:

<%
    Function StripTags(TextToStrip)
        Dim re
        Set re = New RegExp
        re.Pattern = "<[^>]+>"
        re.IgnoreCase = True
        re.Global = True
        StripTags = re.Replace(TextToStrip, "")
        Set re = Nothing
    End Function
%>

La richiameremo come nel seguente esempio:

<%
    Dim stringa
    stringa = "<p>Eliminare i tag HTML con <b>ASP</b></p>"
    Response.Write StripTags(stringa)
%>

Attraverso questa funzione non è possibile (a meno che non ci si diverta a farlo) escludere tag HTML dal controllo.

Hosting (11)
Linux (3)
Office (4)

TOP 10 POST

ALTRI CANALI