¿Cómo puedo eliminar todas las etiquetas HTML de get_the_content()?

7 abr 2013, 00:58:05
Vistas: 50.5K
Votos: 5

quiero eliminar todas las etiquetas HTML del contenido como <p>, <br>, <img>, <a> he probado strip_tags() también intenté

$content = get_the_content();
$content = apply_filters('the_content', $content);

pero no funciona para mí. ¿alguna solución confiable?

0
Todas las respuestas a la pregunta 3
1
14

Para ampliar la respuesta de @s_ha_dum, creo que lo que buscas es:

$content = get_the_content(); 
echo wp_filter_nohtml_kses( $content ); // o strip_tags
7 abr 2013 01:15:48
Comentarios

¿No seguirías necesitando el filtro de contenido? Algo como wp_filter_nohtml_kses( apply_filters( 'the_content', $content ) )?

Jay Jay
9 may 2020 22:13:48
2

La función de WordPress, al menos la que suelo usar, sería wp_filter_nohtml_kses. Debería eliminar todo el HTML, pero debes tener cuidado de no volver a introducir HTML al ejecutar los filtros de the_content en tu cadena sin HTML.

No estoy seguro de por qué strip_tags no funcionó, pero sospecho que estás haciendo algo más en otro código publicado o no publicado y que ese algo está deshaciendo la eliminación de etiquetas o volviendo a poner algunas etiquetas. Principalmente lo pienso porque intentaste...

$content = get_the_content();
$content = apply_filters('the_content', $content);

... y aparentemente esperabas que las etiquetas fueran eliminadas?

7 abr 2013 01:13:00
Comentarios

¡Sí! tenías razón. strip_tags() no funciona debido a $content = get_the_content(); $content = apply_filters('the_content', $content); Gracias compañero.

Muhammad Furqan Muhammad Furqan
7 abr 2013 01:18:37

Ahora ambas soluciones me funcionaron wp_filter_nohtml_kses() y strip_tags() :)

Muhammad Furqan Muhammad Furqan
7 abr 2013 01:21:23
0

Esto elimina tanto las <etiquetashtml> como los <!-- comentarios -->:

echo wp_strip_all_tags( get_the_content() );

wp_filter_nohtml_kses() no me ayudó a eliminar los comentarios.

visto aquí

18 mar 2020 19:14:51