1

私はphpでhtmlを解析していますが、元のコンテンツを制御できないため、コンテンツとタグの短いリストを保持しながら、スタイルと不要なタグを削除したいと思います。

p、img、iframe(そしておそらく他のいくつか)

特定のタグを削除できることはわかっていますが(以下でこれに使用しているコードを参照)、タグがどのようなものであるかは必ずしもわからないため、可能性のある膨大なリストを作成したくないので、許可されたリスト以外のすべてを削除できるようにしたい。

function DOMRemove(DOMNode $from) {
    $sibling = $from->firstChild;

    do {
        $next = $sibling->nextSibling;
        $from->parentNode->insertBefore($sibling, $from);
    } while ($sibling = $next);

    $from->parentNode->removeChild($from);
}

$dom = new DOMDocument;
$dom->loadHTML($html);

$nodes = $dom->getElementsByTagName('span');
4

1 に答える 1

5

上記のcpattersonv1で話されているように、ジョブにはstrip_tags()を使用するだけです。

<?php

// strip all other tags except mentioned (p, img, iframe)
$html_result = strip_tags($html, '<p><img><iframe>');

?>
于 2013-03-26T02:27:22.380 に答える