PHP DOMNode сущности и значение узла - PullRequest
2 голосов
/ 02 мая 2010

При получении nodeValue объекта DOMNode, у которого есть объекты в nodeValue (то есть a & gt;), он преобразует сущность в печатный символ (т.е.>)

Кто-нибудь знает способ заставить его сохранить его как сущность, он действительно запутывает сравнения строк, когда превращается во что-то неожиданное.

Следующий код воспроизводит проблему, вы заметите, что длина дампа равна 3, когда она должна быть 6.

<?php
$xml='<?xml version="1.0"?>
<root>
<element>&gt;</element>
</root>';
$a=new DOMDocument();
$a->loadXML($xml);
var_dump($a->childNodes->item(0)->nodeValue);

1 Ответ

5 голосов
/ 02 мая 2010

loadXML() принимает аргумент options, и один из параметров - LIBXML_NOENT , который позволяет преобразовывать объекты в их представления, поэтому по умолчанию loadXML() этого делать не следует Однако, как представляется, в libxml есть ошибка, которая постоянно вызывает ее, согласно этому отчету об ошибке

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