Есть ли способ добавить источник html в DOMElement? Что-то вроде этого:
$trElement->appendSource("<a href='?select_user=4'>Username</a>");
Он проанализирует этот фрагмент и добавит его.
Ты ищешь
– DOMDocumentFragment::appendXML
– добавление необработанных данных XML
Пример из руководства:
$doc = new DOMDocument(); $doc->loadXML("<root/>"); $f = $doc->createDocumentFragment(); $f->appendXML("<foo>text</foo><bar>text2</bar>"); $doc->documentElement->appendChild($f); echo $doc->saveXML();
Если у вас нет ссылки на корень документа в области видимости, вы всегда можете получить к нему доступ через свойство ownerDocument
произвольного узла:
$frag = $trElement->ownerDocument->createDocumentFragment(); $frag->appendXML("<a href='?select_user=4'>Username</a>"); $trElement->appendChild($frag);
Да, вы можете сделать это с помощью DOMDocument::createDocumentFragment
:
$fragment = $dom->createDocumentFragment(); $fragment->appendXML('<a href="select_user=4">Username</a>'); $element->appendChild($fragment);
В этом случае было бы проще сделать это с помощью обычного вызова createElement
:
$el = $dom->createElement('a', 'Username'); $el->setAttribute('href', 'select_user=4'); $element->appendChild($el);
В каждом случае $element
– это элемент DOM, к которому вы хотите добавить свой код.