Seguindo a série de artigos sobre manipulação de strings, nesse artigo demonstrarei funções para converter caracteres html e também funções para quebra de linhas e quebra de string. E uma bônus para converter o primeiro caractere em minúsculo. Usaremos as seguintes funções:
- htmlentities
- html_entity_decode
- htmlspecialchars
- htmlspecialchars_decode
- nl2br
- wordwrap
- lcfirst
htmlentities
Converte todos os caracteres aplicáveis em entidades html. Ou seja converte caracteres como < e o > em códigos html, entre outros caracteres.
Essa função pode receber três parâmetros, sendo dois opcionais, o segundo parâmetro é referente as aspas e apóstrofos, e deve ser uma das três constantes já definidas no PHP:
Constante | Descrição |
ENT_COMPAT | Irá converter aspas duplas e deixar somente aspas simples. |
ENT_QUOTES | Irá converter ambas as aspas. |
ENT_NOQUOTES | Irá deixar ambas as aspas não convertidas. |
O terceiro parâmetro também opcional e é referente ao charset, sendo que o padrão é o ISO-8859-1, e o restando segue na lista abaixo:
- ISO-8859-1
- ISO-8859-15
- UTF-8
- cp866
- cp1251
- cp1252
- KOI8-R
- BIG5
- GB2312
- BIG5-HKSCS
- Shift_JIS
- EUC-JP
$string = 'Texto com "aspas" e em <b>negrito</b>';
// Resultado: ''
echo htmlentities($string);
html_entity_decode
Faz o oposto da função htmlentities, ou seja converte as entidades html para os seus caracteres. Essa função também recebe três parâmetros sendo dois opcionais, e são os mesmos do exemplo acima sobre a função htmlentities.
$string = '';
// Resultado: 'Texto com "aspas" e em <b>negrito</b>'
echo html_entity_decode($string);
htmlspecialchars
Parecida com a função htmlentities, a diferença está em que essa função não converte todos os caracteres na representação real do html e sim somente os mais utilizados em html como:
- &
- "
- '
- <
- >
Assim como a função htmlentities, recebe os mesmos parâmetros citados acima.
$string = 'Texto com "aspas" e em <b>negrito</b>';
// Resultado: ''
echo htmlspecialchars($string);
htmlspecialchars_decode
Faz o oposto da função htmlspecialchars, ou seja, converte os caracteres reais do html para sua representação.
$string = '';
// Resultado: 'Texto com "aspas" e em <b>negrito</b>'
echo htmlspecialchars_decode($string);
nl2br
Insere uma quebra de linha html, utilizando a tag <br />, antes de todas novas linhas. É muito utilizado em textareas, pois quando inserimos uma nova linha é colocado o caractere \n, então essa função converte para o html.
$string = 'teste com quebra \n de linhas';
echo nl2br($string);
/*
teste com quebra <br />
de linhas
*/
wordwrap
Quebra uma string quando chegar em um determinado número de caractere informado. Essa função recebe quatro parâmetros, sendo três opcionais, o segundo parâmetro é o número em qual caractere será quebrada a string, o terceiro é como será quebrado se é em <br /> ou \n, e o quarto é um boolean, caso seja true, irá quebrar a palavra exatamente naquela quantidade de caractere informado, caso seja falso irá manter a palavra inteira caso ultrapasse a quantidade de caractere informado.
$string = 'texto para ser quebrado';
echo wordwrap($string, 10, '<br />');
/*
texto para
ser
quebrado
*/
lcfirst
Torna minúsculo o primeiro caractere de uma string.
$string = 'Texto para deixar o primeiro caractere em minúsculo';
// texto para deixar o primeiro caractere em minúsculo
echo lcfirst($string);