0

现在,我有这个:

$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?例如,我似乎无法找出如何 str_replace 节点。曾经有 preg_replace 但即使它在家里工作也不能在客户端服务器上正常工作(以及一些来自 preg 和 html 的 php 社区的即时愤怒)

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

4

2 回答 2

0

就像是:

foreach($tags as &$tag) {
    ...
    $tag = new DomNode();
}
于 2013-03-04T10:50:55.967 回答
0

尝试

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

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

于 2013-03-04T10:51:31.540 回答