使用php用不同的代码替换整个div代码(div内部)

  • 本文关键字:div 代码 php 内部 替换 使用 php
  • 更新时间 :
  • 英文 :


我正在使用ob_buffer获得一个页面的代码,我试图替换包含类锁定内容的页面内的所有div。

虽然使用jquery很容易,但问题是使用php有点难。比如我有这样的html代码

<div class='class'> cool content </div>
<div class='class more-class life-is-hard locked-content'>
<div class='cool-div'></div>
<div class='anoter-cool-div'></div>
some more code here
</div>
<div class='class'> cool content </div>

现在这似乎是一个复杂的任务,我认为我需要以某种方式检测有多少div与类'locked-content'之后打开div,然后计算有多少关闭的div,当想要的div关闭时,然后用新代码替换代码,同时循环代码,以防div存在不止一次。

有人知道怎么做这样的事情吗?由于

您可以通过DOMXPath:

$dom = new DOMDocument();
$dom->loadHtml($html);
$xpath = new DOMXPath($dom);
$node = $xpath->query('//div[contains(@class, "locked-content")]');
foreach ($nodes as $node) {
foreach ($node->childNodes as &$cNode) {
if ($cNode instanceOf DOMElement && $cNode->tagName === 'div') {
$cNode->replaceWith(/* Whatever */);
}
}
}

最新更新