2013-03-04 38 views
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; 

有没有办法更换整个节点$标记,与什么是$显示字符串?例如,我似乎无法找到str_replace节点。 曾经有preg_replace但是在客户端服务器上无法正常工作,即使它在家里也可以正常工作(并且有一些即时来自PHP社区的preg和html的愤怒)

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

回答

0

喜欢的东西:

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

尝试

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

应更换$tag节点与$newNode - 以通常方式创建的DOM节点。

+0

事情是,我需要把一个字符串,在它的位置,而不是一个新的dom。 – user2078025 2013-03-04 10:54:41

+0

使用'createTextNode(文本)' – 2013-03-04 10:59:40