Tanto si usas habitualmente el editor de Texto (HTML) como si tienes la fea costumbre de copiar y pegar desde procesadores de texto como Word, más de una vez te habrás olvidado cerrar tags HTML que, si nada lo remedia, destrozarán el diseño de tu web.
Así que si tienes tendencia a cometer este tipo de errores, o tienes colaboradores que no tienen el suficiente cuidado, puedes añadir una función a tu plugin personalizado para que cierre automáticamente toda tag HTML que se haya que dado abierta por error.
// CERRAR TAGS HTML QUE HAN QUEDADO ABIERTAS POR ERROR function clean_bad_content($bPrint = false) { global $post; $szPostContent = $post->post_content; $szRemoveFilter = array("~<p[^>]*>\s?</p>~", "~<a[^>]*>\s?</a>~", "~<font[^>]*>~", "~<\/font>~", "~style\=\"[^\"]*\"~", "~<span[^>]*>\s?</span>~"); $szPostContent = preg_replace($szRemoveFilter, '', $szPostContent); $szPostContent = apply_filters('the_content', $szPostContent); if ($bPrint == false) return $szPostContent; else echo $szPostContent; }
Guardas los cambios y ya está. En la línea 5 ($szRemoveFilter
)están los errores más comunes pero puedes añadir otros.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Hola, Va perfecto el codigo muchas gracias, yo lo he puesto en functions.php. Pero tengo una pregunta, quiero quitar totalmente las etiquetas h1 h2 y h3 cuando se publique. He puesto estas lineas:
«~]*>s?~»,»~]*>s?~»,»~]*>s?~»
Pero solo elimina si solo esta escrita la etiqueta al final de la frase, si solo esta al principio me la añade al final y si están las dos no las quita.
¿Hay algún modo para removerlo?
El codigo se ha cambiado al ponertelo, es asi:
,»~]*>s?~»,»~]*>s?~»,»~]*>s?~