tutoriais mais recente desenvolvimento web
 

PHP htmlspecialchars() Function

<PHP seqüência de referência

Exemplo

Converter os caracteres predefinidos "<" (less than) e ">" (greater than) a entidades HTML:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

A saída HTML do código acima será (View Source) :

<!DOCTYPE html>
<html>
<body>
This is some &lt;b&gt;bold&lt;/b&gt; text.
</body>
</html>

A saída do navegador de código acima será:

This is some <b>bold</b> text.
Exemplo executar »

Definição e Uso

O htmlspecialchars() função converte alguns caracteres predefinidos para entidades HTML.

Os caracteres pré-definidos são:

  • & (ampersand) torna-se & amp;
  • " (double quote) torna-se & quot;
  • ' (single quote) torna-se & # 039;
  • < (less than) torna-se & lt;
  • > (greater than) se torna & gt;

Dica: Para converter entidades HTML especiais de volta para caracteres, use o htmlspecialchars_decode() função.


Sintaxe

htmlspecialchars( string,flags,character-set,double_encode )

Parâmetro Descrição
string Requeridos. Especifica a cadeia de converter
flags Opcional. Especifica como lidar com citações, codificação inválido eo tipo de documento usado.

Os estilos de citação disponíveis são:

  • ENT_COMPAT - Padrão. Codifica apenas aspas duplas
  • ENT_QUOTES - Codifica aspas duplas e simples
  • ENT_NOQUOTES - Não codificar qualquer cotações

codificação inválido:

  • ENT_IGNORE - ignora a codificação inválido em vez de ter a função devolver uma cadeia vazia. Deve ser evitada, pois pode ter implicações de segurança.
  • ENT_SUBSTITUTE - Substitui codificação inválido para um conjunto de caracteres especificado com uma substituição de caracteres Unicode U + FFFD (UTF-8) ou & # FFFD; em vez de devolver uma cadeia vazia.
  • ENT_DISALLOWED - Substitui pontos de código que são inválidos no doctype especificado com uma substituição de caracteres Unicode U + FFFD (UTF-8) ou & # FFFD;

flags adicionais para especificar o tipo de documento utilizado:

  • ENT_HTML401 - Padrão. Lidar com código como HTML 4.01
  • ENT_HTML5 - Manipular código como HTML 5
  • ENT_XML1 - Manipular código como XML 1
  • ENT_XHTML - Manipular código como XHTML
character-set Opcional. Uma string que especifica qual personagem-configurado para usar.

Os valores permitidos são:

  • UTF-8 - Padrão. ASCII multi-byte de 8 bits compatível com Unicode
  • ISO-8859-1 - Europa Ocidental
  • ISO-8859-15 - Europa Ocidental (adiciona o sinal de Euro + letras francesas e finlandesas desaparecidas em ISO-8859-1)
  • charset cirílico DOS específicas de - CP866
  • charset cirílico específicos do Windows - CP1251
  • cp1252 - charset específico do Windows para Europa Ocidental
  • KOI8-R - Russian
  • BIG5 - Chinês Tradicional, usado principalmente em Taiwan
  • GB2312 - Chinês Simplificado, conjunto de caracteres padrão nacional
  • BIG5-HKSCS - Big5 com extensões de Hong Kong
  • Shift_JIS - japonês
  • EUC-JP - Japanese
  • MacRoman - Character-set que foi usado pelo Mac OS

Note: não reconhecidos caracteres conjuntos será ignorado e substituído por ISO-8859-1 em versões anteriores ao PHP 5.4. A partir do PHP 5.4, que irá ser ignorado um substituídos por UTF-8.

double_encode Opcional. Um valor booleano que especifica se a codificar entidades HTML existentes ou não.
  • TRUE - Padrão. Irá converter tudo
  • FALSE - não irá codificar entidades HTML existentes

Detalhes técnicos

Valor de retorno: Retorna a string convertida

Se a string contém a codificação inválido, ele irá retornar uma string vazia, a menos que o ENT_IGNORE ou bandeiras ENT_SUBSTITUTE são definidas
PHP Versão: 4+
changelog: O valor padrão para o parâmetro conjunto de caracteres foi alterado para UTF-8 em PHP 5

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 e ENT_XHTML foram adicionados em 5,4 PHP

ENT_IGNORE foi adicionado em PHP 5.3

O parâmetro double_encode foi adicionado em PHP 5.2.3

O parâmetro character-set foi adicionado no PHP 4.1

mais Exemplos

Exemplo 1

Converter alguns caracteres predefinidos para entidades HTML:

<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>

A saída HTML do código acima será (View Source) :

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

A saída do navegador de código acima será:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Exemplo executar »

exemplo 2

Converter aspas duplas para entidades HTML:

<?php
$str = 'I love "PHP" .';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>

A saída HTML do código acima será (View Source) :

<!DOCTYPE html>
<html>
<body>
I love &quot;PHP&quot;.
</body>
</html>

A saída do navegador de código acima será:

I love "PHP" .
Exemplo executar »

<PHP seqüência de referência