Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DOM change element content

How does one change the element content with PHP DOM functions?

In depth... I've queried my element, modified attributes and now want to change the content of it, how can I do this?

like image 726
tomsseisums Avatar asked Aug 12 '11 09:08

tomsseisums


1 Answers

Set the nodeValue property if you want to set text content of an element:

$el = $dom->getElementById('foo');
$el->nodeValue = 'hello world';

Note that this automatically escapes < and >, so you can't insert HTML like this. For that you'll have to do something like DOMDocument::createDocumentFragment:

$frag = $dom->createDocumentFragment();
$frag->appendXML('<h1>foo</h1>');
$el->appendChild($frag);
like image 50
lonesomeday Avatar answered Oct 18 '22 03:10

lonesomeday