DOMAttr';的value属性令人困惑


DOMAttr's value attribute is confusing?

我一直在使用DOMDocument及其所有相关类,但有些事情我仍然不清楚。

例如,$domattr->value返回

http://bla.com/?bla=test&bla2=test 

何时应返回

http://bla.com/?bla=test&bla2=test

(因为这就是属性节点文本节点实际包含的内容)

以下是我的问题:

1) 为什么要转换"与":从DOMAttr的角度来看,它背后的逻辑是什么?

2) 如何使用DOMNode才能获得真正的价值?

3) 在处理这类事情时,有哪些最佳做法?我希望有一致和可预测的代码和行为,但当我没有得到我期望的东西时,这可能会令人困惑。

编写&而不是&的全部意义在于&字符在HTML源代码中具有特殊意义。当浏览器将HTML源代码解析为DOM树时,它会将HTML实体( •等)转换为相应的字符。没有必要在DOM树中保留HTML实体——浏览器不会这样做。