DOMDocument in php

DOMDocument in php

我刚刚开始阅读有关DOM的文档和示例,以便对文档进行爬行和解析。

例如,我有一部分文件如下所示:

    <div id="showContent">
    <table>
    <tr>
        <td>
         Crap        </td>
    </tr><tr>
          <td width="172" valign="top"><a href="link"><img height="91" border="0" width="172" class="" src="img"></a></td>
          <td width="10">&nbsp;</td>
          <td valign="top"><table cellspacing="0" cellpadding="0" border="0">
              <tbody><tr>
                <td height="30"><a class="px11" href="link">title</a><a><br>
                    <span class="px10"></span>
                </a></td>
              </tr>
              <tr>
                <td><img height="1" width="580" src="crap"></td>
              </tr>
              <tr>
                <td align="right">
                    <a href="link"><img height="16" border="0" width="65" src="/buy"></a>
                </td>
              </tr>
              <tr>
                <td valign="top" class="px10">
                    <p style="width: 500px;">description.</p>
                </td>
              </tr>
          </tbody></table></td>
        </tr>
    <tr>
        <td>Crap        </td>
    </tr>
    <tr>
        <td>
         Crap        </td>
    </tr>
    </table>
    </div>

我试图使用以下代码获取所有tr标记并分析其中是否有垃圾或信息:

$dom = new DOMDocument();@$dom->loadHTML($html);$xpath = new DOMXPath($dom);$tags = $xpath->query('.//div[@id="showContent"]');foreach ($tags as $tag) {
    $string="";
    $string=trim($tag->nodeValue);
    if(strlen($string)>3) {
        echo $string;
        echo '<br>';
    }}

但是,我只需要去掉没有标记的字符串,例如:

CrapCrapTitleDescription

但我想知道:

<tr>
   <td>Crap</td></tr><tr>
   <a href="link">title</a></tr>

如何保留html节点(标记)?


慕仙森
浏览 467回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP