PHP HTML ENCODE

PHP HTML ENCODE
HTML si basa fortemente sull'uso di tag e caratteri speciali. Alcuni caratteri speciali in HTML contengono un significato speciale che richiede che vengano usati con cautela.

Ad esempio, tag come quelli sono tra i caratteri più utilizzati in HTML. Sebbene non rappresentino alcuna minaccia da soli, quando si sono abusati, possono rompere l'intera pagina web.

Tali caratteri HTML pubblicano anche un significativo difetto di sicurezza, specialmente nelle applicazioni Web dinamiche. Ciò può portare all'iniezione di codice dannoso come JavaScript e Forma Dati.

L'essenza di questa guida è mostrarti come puoi usare PHP per codificare o "disinfettare" i caratteri HTML. La codifica di tali caratteri in siti Web dinamici impedirà la rottura degli script e proteggere la pagina web.

Cosa è codifica?

La codifica si riferisce al processo di conversione dei caratteri riservati in entità dei caratteri HTML. Le entità del personaggio HTML sono espresse come &value; dove il "valore" rappresenta un'abbreviazione o un numero per ciascun carattere.

HTML offre una raccolta completa di entità. Tuttavia, dobbiamo solo preoccuparci di quattro di loro a fini di codifica:

  1. < - <
  2. > ->
  3. & - &
  4. = - "

Impariamo come possiamo usare PHP per codificare tali caratteri.

Funzioni di codifica PHP

PHP ha due funzioni principali che è possibile utilizzare per codificare i caratteri HTML.

  1. HtmlspecialChars ()
  2. Htmlenties ()

Le funzioni HTMLSpecialChars () codificano i quattro caratteri principali (sopra) mentre la funzione htmenties () codificherà tutti i caratteri possibile.

Impariamo come usare le due funzioni.

PHP HTMLSpecialChars ()

Questa funzione converte tutti i caratteri HTML speciali o riservati alle entità HTML. Sebbene sia possibile specificare, la funzione ignorerà le citazioni singoli per impostazione predefinita.

La sintassi generale della funzione è come mostrata:

htmlenties (string $ string, int $ flags bool);

La funzione accetta la stringa contenente HTML da codificare. Puoi anche specificare i valori di flag che ti consentono di modificare come funziona il metodo.

PHP consente inoltre di specificare il metodo di codifica che si desidera utilizzare per le entità HTML. La seguente immagine mostra i caratteri supportati.

L'esempio seguente mostra come utilizzare il metodo HTMLSpecialChars ().

$ str = "html usa per tag";
echo htmlspecialChars ($ str);
?>

L'esempio sopra codificherà i caratteri HTML specificati nella variabile $ STR.

L'output è come mostrato:

HTML usa < and > per tag

Se si desidera che la funzione elabora le citazioni singole e doppie, è possibile utilizzare un flag come mostrato nell'esempio seguente:

$ str = "un singolo preventivo come 'e' verrà ignorato per impostazione predefinita";
echo htmlspecialChars ($ str, ent_quotes);
?>

Una volta eseguito il codice sopra, la funzione elaborerà le singole citazioni e fornirà un output come mostrato:

Un singolo citazione come "e" verrà ignorato per impostazione predefinita

PHP Htmlenties ()

Vedremo il prossimo carattere di codifica è Php Htmlenties (). Questa funzione converte tutti i caratteri HTML applicabili alle entità HTML. È una scelta perfetta quando è necessario elaborare il tuo HTML in sicurezza.

La sintassi generale della funzione è come mostrata:

htmlenties (string $ string, int flags);

La funzione è molto simile a htmlspecialChars () tranne che elabora tutti i caratteri che può per impostazione predefinita.

Il seguente esempio mostra come utilizzare la funzione htmlenties ().

$ str = "

Questo è valido Codice HTML

";
echo htmlenties ($ str);
?>

Il codice sopra dovrebbe restituire tutti i tag convertiti in entità come:

Questo è valido Codice HTML

Simile alla funzione HTMLSpecialChars (), supporta flag e codificante Charset. Controlla la documentazione per scoprire di più.

Conclusione

In questa guida, hai imparato come le basi della codifica dei personaggi HTML. Hai anche imparato come usare PHP per convertire i caratteri HTML in entità HTML.

Grazie per aver letto e rimanere sintonizzato per ulteriori informazioni.