• Consiglio Direttivo

    [Stringhe] htmlspecialchars();

    PHP 4, 5
    Sintassi: string htmlspecialchars ( string $string [, string $quote [, string $charset ]] )

    htmlspecialchars è una funzione di PHP che converte dei caratteri sensibili come l'apice ( ' ), i doppi apici ( " ), la & commerciale ed i segni di minore ( < ) e maggiore ( > ) in entità HTML, in modo che non vengano interpretati dalle nostre istruzioni come tali.
    Le conversioni che effettua la funzione sono le seguenti:

    • & --> &
    • " --> "
    • ' --> &# 039; (senza lo spazio, vedi parametro $quote)
    • < --> <
    • --> >Il nostro browser leggerà il nostro script è visualizzerà il valore originario delle nuove entita' HTML, cosa che invece non accadrà per il nostro codice, invece, dato che per lui non rappresenteranno più caratteri marcatori. 😉

    Come è facile immaginare la presente funzione torna molto utile ogniqualvolta si ricevono dati dall'esterno e quindi bisogna assicurarsi che nessuno posti del codice dannoso.

    Il parametro opzionale $quote (inserito dal modulo PHP 4.0.3) indica alla funzione cosa deve fare quando la nostra stringa contiene degli apici (singoli o doppi), e puo' assumere i seguenti valori:

    • ENT_COMPAT - valore di default se non specificato, non effettua la conversione degli apici singoli
    • ENT_QUOTES - effettua la conversione sia degli apici singoli che dei doppi apici
    • ENT_NOQUOTES - non effettua la conversione degli apiciPertanto, portando un breve esempio di quanto appena detto, avremo:

    <?
    $string = "Ciao <a href="bububu.sito.ext/boh.php">GT's</a>";

    // vediamo un po' di esempi variando qualche impostazione
    $string = htmlspecialchars ( $string ); // HTML: Ciao <a href="bububu.sito.ext/boh.php">GT's</a>

    $string = htmlspecialchars ( $string, ENT_QUOTES); // HTML: Ciao <a href="bububu.sito.ext/boh.php">GT&# 039;s</a>

    $string = htmlspecialchars ( $string, ENT_NOQUOTES); // HTML: Ciao <a href="bububu.sito.ext/boh.php">GT's</a>
    ?>

    Il terzo parametro opzionale $charset (inserito dal modulo PHP 4.1.0) indica alla nostra funzione quale set di caratteri utilizzare durante la conversione, per default la funzione converte la stringa utilizzando il set di caratteri ISO-8859-1.
    I set di caratteri supportati dalla funzione sono i seguenti:

    image

    Altri set di caratteri verranno sostituiti con quello di default.