Dom替换整个节点

时间:2013-03-04 10:44:22

标签: php dom

现在,我有这个:

$text = $row->text;
$dom = new DOMDocument();
$dom->loadHTML($text);
$tags = $dom->getElementsByTagName('img');

foreach ($tags as $tag) {
    $eg = $tag->getAttribute('data-easygal');
    $src = $tag->getAttribute('src');
    $values = explode("_",$eg);
    $display = $this->prepareAlbum($values[0],$values[1],$src);
}
$row->text = $text;

有没有办法用$ display string中的内容替换整个节点$ tag?我似乎无法找到如何str_replace节点的例子。 曾经有过preg_replace但是在客户端服务器上无法正常工作,即使它在家里工作(以及一些来自php社区的preg和html的即时愤怒)

尝试搜索董事会,但没有找到我需要的运气:S

2 个答案:

答案 0 :(得分:0)

类似的东西:

foreach($tags as &$tag) {
    ...
    $tag = new DomNode();
}

答案 1 :(得分:0)

尝试

$tag-> parentNode ->replaceChild($newNode, $tag);

应该用$tag替换$newNode节点 - 以通常的方式创建的DOM节点。