Come posso rimuovere tutti i tag HTML da get_the_content()?

7 apr 2013, 00:58:05
Visualizzazioni: 50.5K
Voti: 5

Voglio rimuovere tutti i tag HTML dal contenuto come <p>, <br>, <img>, <a> ho provato strip_tags() ho anche provato

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

ma non funziona per me. qualche soluzione affidabile??

0
Tutte le risposte alla domanda 3
1
14

Per ampliare la risposta di @s_ha_dum, penso che tu voglia:

$content = get_the_content(); 
echo wp_filter_nohtml_kses( $content ); // oppure strip_tags
7 apr 2013 01:15:48
Commenti

Non avresti ancora bisogno del filtro del contenuto? Quindi qualcosa come wp_filter_nohtml_kses( apply_filters( 'the_content', $content ) )?

Jay Jay
9 mag 2020 22:13:48
2

La funzione di WordPress, almeno quella che tendo a utilizzare, sarebbe wp_filter_nohtml_kses. Questa dovrebbe rimuovere tutto l'HTML, ma devi fare attenzione a non reinserire parte dell'HTML eseguendo i filtri the_content sulla tua stringa priva di HTML.

Non sono sicuro del motivo per cui strip_tags non abbia funzionato, ma sospetto che tu stia facendo qualcos'altro nel codice pubblicato o non pubblicato e che quel qualcos'altro stia annullando la rimozione dei tag o reinserendo alcuni tag. Principalmente penso questo perché hai provato...

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

... e apparentemente ti aspettavi che i tag venissero rimossi?

7 apr 2013 01:13:00
Commenti

Sì! avevi ragione. strip_tags() non funziona a causa di $content = get_the_content(); $content = apply_filters('the_content', $content); Grazie Mate.

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

Ora entrambe le soluzioni hanno funzionato per me wp_filter_nohtml_kses() e strip_tags() :)

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

Questo rimuove sia i <htmltags> che i <!-- commenti -->:

echo wp_strip_all_tags( get_the_content() );

wp_filter_nohtml_kses() non mi ha eliminato i commenti.

visto qui

18 mar 2020 19:14:51