繁体   English   中英

如何将网页中的所有HTML标签提取到数组中?

[英]How do I extract all HTML tags from a webpage into an array?

我需要将网页中的所有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'
                                                                  }
                                                        }
                                              }
                          }

             }
}

您需要的是HTML解析器(XML解析器可能不会这样做,因为HTML通常是无效的)。 也许: http//simplehtmldom.sourceforge.net/

您还可以使用PHP DOM扩展

我认为最简单的方法是使用XPath。

//*::name()

应该给您所有级别上所有节点的名称。 我不知道虽然没有等级会被扁平化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM