web-dev-qa-db-ja.com

Get_the_content()からすべてのHTMLタグを削除する方法を教えてください。

私は<p>, <br>, <img>, <a>のようなコンテンツからすべてのhtmlタグを削除したいです私はtried strip_tags()も試してみました

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

しかし私のために働いていません。どんな信頼できる解決策?

5
Muhammad Furqan

WordPressの機能は、少なくとも私が使いがちなものでは、 wp_filter_nohtml_kses になります。これですべてのHTMLが削除されますが、HTMLなしの文字列でthe_contentフィルタを実行してHTMLを元に戻さないように注意する必要があります。

strip_tagsがうまくいかなかった理由はわかりませんが、投稿されたまたは投稿されていない他のコードで何か他のことをしたことや、タグの削除を元に戻す、またはタグを元に戻すことが考えられます。主に私はあなたが試したので...と思います.

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

...そして明らかにタグが取り除かれると予想されますか?

5
s_ha_dum

@ s_ha_dumの回答に基づいて、私はあなたが欲しいと思う。

$content = get_the_content(); 
echo wp_filter_nohtml_kses( $content ); //or strip_tags
12
Wyck