PHP HTML Encode

PHP HTML Encode
HTML depende muito do uso de tags e caracteres especiais. Alguns caracteres especiais em html contêm significado especial que exige que eles sejam usados ​​com cautela.

Por exemplo, tags como estão entre os caracteres mais usados ​​no HTML. Embora eles não representem nenhuma ameaça por conta própria, quando mal utilizados, eles podem quebrar toda a página da web.

Esses caracteres HTML também postam uma falha de segurança significativa, especialmente em aplicativos da Web dinâmicos. Isso pode levar à injeção de código malicioso, como JavaScript e Form Data.

A essência deste guia é mostrar como você pode usar o PHP para codificar ou "higienizar" caracteres HTML. A codificação desses personagens em sites dinâmicos impedirá que o script cruzado e protegerá a página da web de quebrar.

O que está codificando?

A codificação refere -se ao processo de conversão de caracteres reservados em entidades de caracteres HTML. As entidades de caracteres HTML são expressas como &value; onde o "valor" representa uma abreviação ou número para cada caractere.

HTML oferece uma coleção abrangente de entidades. No entanto, precisamos apenas nos preocupar com quatro deles para fins de codificação:

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

Vamos aprender como podemos usar o PHP para codificar esses personagens.

Funções de codificação PHP

O PHP tem duas funções principais que você pode usar para codificar caracteres HTML.

  1. Htmlspecialchars ()
  2. Htmlentities ()

As funções htmlspecialchars () codificam os quatro caracteres principais (acima), enquanto a função htmentities () codificará todos os caracteres possível.

Vamos aprender a usar as duas funções.

Php htmlspecialchars ()

Esta função converte todos os caracteres HTML especiais ou reservados em entidades HTML. Embora você possa especificar, a função ignorará citações únicas por padrão.

A sintaxe geral da função é como mostrado:

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

A função aceita a sequência que contém o HTML a ser codificado. Você também pode especificar valores de sinalizador que permitem ajustar como o método opera.

O PHP também permite especificar o método de codificação que deseja usar para as entidades HTML. A imagem a seguir mostra os charsets suportados.

O exemplo a seguir mostra como usar o método htmlspecialchars ().

$ str = "html usa para Tag";
echo htmlspecialchars ($ str);
?>

O exemplo acima codificará os caracteres HTML especificados na variável $ str.

A saída é como mostrado:

HTML usa < and > para Tag

Se você deseja que a função processe citações únicas e duplas, você pode usar um sinalizador como mostrado no exemplo abaixo:

$ str = "Uma única citação como 'e' será ignorada por padrão";
echo htmlspecialchars ($ str, ent_quotes);
?>

Depois de executar o código acima, a função processará as citações únicas e fornecerá uma saída como mostrado:

Uma única citação como 'e' será ignorada por padrão

Php htmlentities ()

Veremos o próximo personagem de codificação é o php htmlentities (). Esta função converte todos os caracteres HTML aplicáveis ​​em entidades HTML. É uma escolha perfeita quando você precisa processar seu html com segurança.

A sintaxe geral da função é como mostrado:

htmlentities (string $ string, int sinalizadores);

A função é muito semelhante a htmlspecialchars (), exceto que processa todos os caracteres que pode por padrão.

O exemplo a seguir mostra como usar a função htmlentities ().

$ str = "

Isso é válido Código HTML

";
eco htmlentities ($ str);
?>

O código acima deve retornar todas as tags convertidas a entidades como:

Isso é válido Código HTML

Semelhante à função htmlspecialchars (), ele suporta sinalizadores e codificando charset. Verifique a documentação para descobrir mais.

Conclusão

Neste guia, você aprendeu como o básico da codificação de caráter html. Você também aprendeu a usar o PHP para converter caracteres HTML em entidades HTML.

Obrigado por ler e ficar atento a mais.