Php Dom替换整个节点

Php Dom替换整个节点,php,dom,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');

现在,我有这个:

$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字符串中的内容替换整个节点$tag?例如,我似乎找不到如何替换节点。 以前使用preg_replace,但在客户端服务器上无法正常工作,即使它在家中也能正常工作(php社区对preg和html的一些即时愤怒)

试着在黑板上搜索,但没有找到我需要的东西:S

类似于:

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


应该用
$newNode
替换
$tag
节点,这是一个以常规方式创建的DOM节点。

问题是,我需要在其位置放置一个字符串,而不是一个新的DOM。请使用
createTextNode(text)
$tag-> parentNode ->replaceChild($newNode, $tag);