Prefácio
Salve, salve, galerinha. Venho vos escrever após um certo período de recesso, onde estive envolvido com MUITOS projetos, um deles inclusive é o novo layout do PHPit, o qual estou preparando para o ano vindouro.
Sem mais delongas, vamos para o que interessa.
O intuito hoje é montar uma função semelhante ao htmlentities, mas que ignore as tags que existem no seu texto.
Bem bacana e bem simples de fazer! :)
Conceito
O primeiro passo é obter a tabela de conversão de caracteres. Com a get_html_translation_table, nós iremos passar a constante HTML_ENTITIES a fim de obter a tabela com todos os caracteres traduzidos pela função htmlentities.
Uma vez feito isso, vamos obter a tabela de conversão de caracteres referente a função htmlspecialchars, a qual traduz apenas caracteres que dizem respeito aos caracteres especiais utilizados por tags html. A constante agora é HTML_SPECIALCHARS.
Depois disso devemos computar a diferença entre uma array e outra, a fim de retirar os caracteres do html de dentro de todos os outros (que aqui tratam-se de letras acentuadas, basicamente).
Feito isso, finalmente usamos a strtr para traduzirmos os caracteres! :)
Vamos por isso em prática?
Mão na massa
Juntando tudo isso, teremos um código semelhante a este:
<?php
function htmlwtags($str) {
// Pega todos os caracteres que devem ser convertidos
$caracteres = get_html_translation_table(HTML_ENTITIES);
// Encontra a lista de caracteres que serão retirados da tabela
$remover = get_html_translation_table(HTML_SPECIALCHARS);
// Remove os caracteres que não deve ser convertidos (caracteres html)
$caracteres = array_diff($caracteres, $remover);
// Traduz tudo bonitinho! :)
$str = strtr($str, $caracteres);
// Êêêêêêê!!! o/
return $str;
}
?>
Função bem bonitinha e bem simples. Resultados garantidos! Qualquer bug, me mande um e-mail, por favor! :D
Conclusão
Não tem muita coisa o que concluir hoje, então serei breve…
Espero que esta seja a minha última coluna antes do novo layout…
xDDD
Aceito sugestões sempre, beleza?
Um forte abraço a todos e fiquem com Deus! :)
Ahhhh!!! eu vi tu criando isso!!! Do trabalho para o Blog!! hehehe!!! Boaa!!
Flw!
Mazzá gurizão… show de bola cara… muito bom
Oie Rafa,
Gosto mto dos seus artigos, um deles (sobre expressões regulares) adicionei no Via6, espero que mta gente possa ler, achei mto bom.
Esse tbm é ótimo, parabéns.
Seu blog já está add nos delicious, virou uma consulta hehe.
Obrigada pelo apoio, e parabéns ;-)
Saveee, rafa!! cara, teu site eh o melhor! meus parabéns cara! Dale pau mesmo! eheheh!
abraçossss!!
Feliz Natal para vc tb!
Ooops, Feliz Ano Novo agora!
Hahauuha.
Cara…
Muito boa a sua função, era simplesmente o que eu estava procurando.
Meus parabens..