Eliminar caracteres especiales HTML de una cadena
Al crear una fuente RSS, es fundamental eliminar etiquetas HTML y caracteres especiales para garantizar la compatibilidad. Si bien strip_tags() elimina etiquetas de manera eficaz, a menudo deja caracteres especiales HTML.
Para solucionar este problema, existen dos posibles soluciones:
html_entity_decode():
Esta función decodifica entidades HTML y las reemplaza con sus caracteres correspondientes. Por ejemplo, se convertiría en un espacio.
preg_replace():
Usando expresiones regulares, preg_replace() le permite eliminar secuencias específicas de caracteres. El siguiente patrón coincide y elimina caracteres especiales HTML:
/&#?[a-z0-9] ;/i
Este patrón busca secuencias que comienzan con , seguidas de una combinación de letras y números, y que termina en punto y coma.
Para implementar esta solución:
$content = preg_replace("/&#?[a-z0-9] ;/i", "", $content);
Alternativa de Jacco:
Otra opción, como sugiere Jacco en la sección de comentarios, es usar el siguiente patrón:
/&#?[a-z0-9]{2,8};/i
Este patrón limita el reemplazo a secuencias dentro de un cierto rango de caracteres, lo que reduce el riesgo de reemplazando archivos no codificados y codificados personajes en oraciones.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3