Funções para manipulação de Strings - PHP - Parte 3

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);
Voltar para o topo