PHP DOMElement, заменяющий текст узла - PullRequest
0 голосов
/ 09 января 2011

У меня есть такой HTML-узел:

<b>Bold text</b>

Переменная $ el содержит ссылку DOMElement на текст этого узла HTML («полужирный текст»), полученный из выражения XPath // b / text ()

Я хочу изменить элемент на

<b><span>Bold Text</span></b>

Итак, я попробовал:

$span = $doc->createElement('span', "Bold Text");
$el->parentNode->replaceChild($span,, $el)

, который завершается ошибкой, поскольку parentNode имеет значение null.

Итак, в качестве теста я попробовал: $ el-> insertBefore ($ span, $ el);

, который не выдает ошибок, но не производит изменений в выводе.

Есть мысли?

1 Ответ

1 голос
/ 09 января 2011

DOMXPath-> query () с использованием // b / text () должен возвращать DOMNodeList. Получить элемент с помощью метода item (). Это должен быть DOMText, который является DOMNode, а parentNode не должен быть нулевым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...