获取html标签内/ html标签之间的所有内容
获取某些html元素+值的最佳方式是什么?例如:获取html标签内/ html标签之间的所有内容
<div id="abc" class="classs">
<img src="pic1.png" alt="pico">
<img src="pic2.png" alt="nano">
</div>
我有什么是div元素的ID = ABC。 我想要得到的div元素里面一切都像:
class of the div ("classs")
src of the pictures and other data:
src="pic1.png", alt="pico"
src="pic2.png", alt="nano"
它应该是一个数组,对象或东西。 你更喜欢什么? XPath的?正则表达式? XMLObject组成?
使用此功能:
public function innerHTML($DOMnode) {
return preg_replace(
'/^<(\w+)\b.*?>(.*)<\/\1?>/s',
'$2',
$DOMnode->ownerDocument->saveXML($DOMnode)
);
}
IA IA Cthulhu Fhtagn !!! http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html – Gordon 2010-02-27 13:19:06
如果你更好地研究了代码,你会注意到你没有解析整个HTML页面,但只有DOM节点的内容! – stillstanding 2010-02-27 13:27:07
我没有研究它,发现将DomNode转换为字符串以便能够在其上运行正则表达式是非常可怕的。 – Gordon 2010-02-27 13:32:15
是否有使用XHTML的可能性?这将使得使用基于XML的解决方案变得更加容易。 – Skilldrick 2010-02-27 13:12:10
你想做这个服务器端或客户端吗? – 2010-02-27 13:13:14
服务器端,是的,我可以使用xhtml – MilMike 2010-02-27 13:27:07