Cum pot elimina toate etichetele HTML din get_the_content()?

7 apr. 2013, 00:58:05
Vizualizări: 50.5K
Voturi: 5

Vreau să elimin toate etichetele HTML din conținut precum <p>, <br>, <img>, <a> am încercat strip_tags() de asemenea am încercat

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

dar nu funcționează pentru mine. există vreo soluție de încredere??

0
Toate răspunsurile la întrebare 3
1
14

Pentru a continua răspunsul lui @s_ha_dum, cred că dorești:

$content = get_the_content(); 
echo wp_filter_nohtml_kses( $content ); //sau strip_tags
7 apr. 2013 01:15:48
Comentarii

Nu ai avea în continuare nevoie de filtrul de conținut? Deci ceva de genul wp_filter_nohtml_kses( apply_filters( 'the_content', $content ) )?

Jay Jay
9 mai 2020 22:13:48
2

Funcția WordPress, cel puțin cea pe care tind să o folosesc, ar fi wp_filter_nohtml_kses. Aceasta ar trebui să elimine tot HTML-ul, dar trebuie să fii atent să nu adaugi din nou HTML prin rularea filtrelor the_content pe șirul tău lipsit de HTML.

Nu sunt sigur de ce strip_tags nu a funcționat, dar bănuiesc că faci altceva în alt cod postat sau nepostat și că acel altceva anulează eliminarea tag-urilor sau adaugă din nou unele tag-uri. În principal cred asta pentru că ai încercat...

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

... și aparent ai așteptat ca tag-urile să fie eliminate?

7 apr. 2013 01:13:00
Comentarii

Da! aveai dreptate. strip_tags() nu funcționează din cauza $content = get_the_content(); $content = apply_filters('the_content', $content); Mulțumesc Mate.

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

Acum ambele soluții au funcționat pentru mine wp_filter_nohtml_kses() și strip_tags() :)

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

Această funcție elimină atât <htmltags> cât și <!-- comentarii -->:

echo wp_strip_all_tags( get_the_content() );

wp_filter_nohtml_kses() nu a eliminat comentariile în cazul meu.

văzut aici

18 mar. 2020 19:14:51