带有特定ID的div的Strip_tags?

cod*_*ama 3 php

有没有人知道修改后的strip_tags函数是否存在,您可以在其中指定要剥离的标记的ID,并且可能还指定删除标记中的所有数据.举个例子:

<div id="one">
  <div id="two">
    bla bla bla
  </div>
</div>

Running:


new_strip_tags($data, 'two', true);
Run Code Online (Sandbox Code Playgroud)

必须返回:

<div id="one">
</div>
Run Code Online (Sandbox Code Playgroud)

那里有类似的东西吗?

Vol*_*erK 8

您可以使用DOMDocumentDOMXPath.

<?php
$html = '<html><head><title>...</title></head><body>
  <div id="one">
    <div id="two">
      bla bla bla
    </div>
  </div>
</body></html>';

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->loadhtml($html);

$xpath = new DOMXPath($doc);

$ns = $xpath->query('//div[@id="two"]');
// there can be only one... but anyway
foreach($ns as $node) {
  $node->parentNode->removeChild($node);
}
echo $doc->savehtml();
Run Code Online (Sandbox Code Playgroud)