さて、私は自分の質問に答えますが、最初に私を正しい方向に押してくれたゴードンに感謝します. 私の結果は、stackoverflow のこの質問に基づいています。
多くの例で見たようなものではDOM
ありません。
言及すべきことの 1 つは、フィルタリングされた結果をエコーするため、代わりに使用する必要があることです。しかしコーデックスには、と同じ出力を得るためにフィルタリングする方法のヒントがあります。 preg_replace()
get_the_content()
the_content()
the_content()
get_the_content()
the_content()
これが私が望むことをするコードです:
$dom = new DOMDocument;
$dom->loadHTML(get_the_content());
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//img|//a[img]');
foreach($nodes as $node) {
$node->parentNode->removeChild($node);
}
$no_image_content = $dom->saveHTML();
$no_image_content = apply_filters('the_content', $no_image_content);
$no_image_content = str_replace(']]>', ']]>', $no_image_content);
echo $no_image_content;