Removendo caracteres especiais HTML de uma string
Ao criar um feed RSS, é crucial remover tags HTML e caracteres especiais para garantir a compatibilidade. Embora strip_tags() remova tags efetivamente, muitas vezes deixa para trás caracteres especiais HTML.
Para resolver esse problema, existem duas soluções possíveis:
html_entity_decode():
Esta função decodifica entidades HTML e as substitui por seus caracteres correspondentes. Por exemplo, seria convertido em um espaço.
preg_replace():
Usando expressões regulares, preg_replace() permite remover sequências específicas de caracteres. O padrão a seguir corresponde e remove caracteres especiais HTML:
/&#?[a-z0-9] ;/i
Este padrão procura sequências começando com , seguidas por uma combinação de letras e números e terminando com ponto e vírgula.
Para implementar esta solução:
$content = preg_replace("/&#?[a-z0-9] ;/i", "", $content);
Alternativa de Jacco:
Outra opção , conforme sugerido por Jacco na seção de comentários, é usar o seguinte padrão:
/&#?[a-z0-9]{2,8};/i
Este padrão limita a substituição a sequências dentro de um determinado intervalo de caracteres, reduzindo o risco de substituir acidentalmente arquivos não codificados e caracteres em frases.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3