DOMAttr的值属性令人困惑?

时间:2012-02-05 16:37:26

标签: php dom domdocument

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

例如,$ domattr->值返回

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

什么时候应该返回

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

(因为这是属性节点文本节点字面上包含的内容)

所以这是我的问题:

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

2)我如何使用DOMNodes以获得真正的价值?

3)处理这类东西时有哪些最佳做法?我希望拥有一致且可预测的代码和行为,但是当我没有得到我期望的结果时,它会让人感到困惑。

1 个答案:

答案 0 :(得分:1)

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