我需要从网页中将所有HTML标记提取到数组而不包含标记内的数据。它看起来像......
我正在使用PHP
Array
{
html =>
Array
{
head =>
Array
{
title,
meta name='description' content='bla bla'
meta name='keyword' content='bla bla'
....
},
body =>
Array
{
div id='header' =>
Array
{
div class='logo',
div class='nav'
},
div id='content' =>
Array
{
h1,
p class='first-para',
p,
p,
div id='ad'
},
div id='footer' =>
Array
{
ul =>
Array
{
li =>
Array
{
a href='link.htm'
},
li =>
Array
{
a href='link.htm'
},
li =>
Array
{
a href='link.htm'
}
}
}
}
}
}
答案 0 :(得分:2)
您需要的是HTML解析器(XML解析器可能不会这样做,因为HTML通常无效)。也许:http://simplehtmldom.sourceforge.net/
答案 1 :(得分:1)
您还可以使用PHP DOM extension。
答案 2 :(得分:0)
我认为最简单的方法是使用XPath。
//*::name()
应该为您提供所有级别上所有节点的名称。我不确定不会将层级结构弄平。