2013-03-04 2 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

вещь, мне нужно поставить на своем месте строку, а не новый дом. – user2078025

+0

Используйте 'createTextNode (текст)' –

Смежные вопросы