Salida de un fragmento de contenido de documento HTML arbitrario sin etiquetas abiertas

Por ejemplo, un fragmento de 50 caracteres. El problema es, por supuesto, cerrar las etiquetas abiertas. ¿Cuál es una buena forma de hacer esto? O bien, para facilitar las cosas, ¿cuál es una buena manera de eliminar por completo todo el contenido HTML del fragmento?

preguntado el 08 de enero de 11 a las 17:01

2 Respuestas

Si las etiquetas están generalmente permitidas en el texto (es decir, si, por ejemplo, el texto contiene , el texto debe marcarse con , etc.), luego parece strip_tags () La función es la variante más fácil de eliminar etiquetas de un fragmento.

Si las etiquetas generalmente no están permitidas en el texto (por ejemplo, " " debe mostrarse simplemente como " "), entonces puede usar htmlentities () función.

Respondido el 08 de enero de 11 a las 21:01

No sabía sobre htmlentities. ¿Es eso lo contrario de htmlspecialchars? - Hámster

htmlspecialchars () reemplaza solo los símbolos ampersand, comillas, menor que y mayor que. htmlentities () reemplaza TODOS los caracteres, que tienen cualquier representación equivalente en HTML. html_entity_decode () decodifica el resultado de htmlentities (). - Kel

Puede eliminar todas las etiquetas HTML, etc. a través del strip_tags() función, que es (siendo realista) probablemente la mejor manera de hacerlo, ya que de lo contrario probablemente terminará con más etiquetas que contenido real.

Por ejemplo:

$first50Chars = substr(trim(strip_tags($longString)), 0, 50);

respondido 13 nov., 11:20

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.