删除外部表而不损害内部表?

时间:2013-10-26 19:41:25

标签: php html

我帮助管理一个网站,该网站从父网站提取其部分网页的内容。我们无法控制父站点的格式,我们有义务获取内容(而不是复制/粘贴)以避免在不同站点上拥有相同内容的多个版本。

这些页面的内容保存在表格中。我使用简单的正则表达式来删除大多数我们不需要的东西,并改进格式。处理后的当前字符串如下所示:

<table class='pageSetup'>    
   <tbody>
     <tr>
      <td>
         <!--Lots of content here, including child tables-->
      </td>
     </tr>
   </tbody>
</table>

我想剥离那个外表(及其所有与子表相关的标签),而不会损坏包含表的td中的内容。

我可以访问PHP。我猜我想以某种方式使用DOM来做这件事,但我对DOM没有太多经验。

有人能让我指出正确的方向吗?我修补了这个问题并遇到了砖墙。我没有任何代码(昨晚我沮丧地删除了它)。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用此http://simplehtmldom.sourceforge.net/

尝试将整个html内容加载到对象中,然后仅提取您需要的部分

  1. 选中此Quick Start以了解如何在对象中加载hmtl

  2. 然后将您的内容搜索为:

      

    $ ret = $ html-&gt; find('table [class = pageSetup] tbody tr td',0);

  3. 最后,访问您需要的代码:

      

    $ ret-&GT;的innerText

  4. 我希望这个帮助