网站刮痧(DoMDocument)

时间:2014-08-26 04:58:22

标签: php web

我有一个PHP代码,可以提取类别并显示它们。然而, 我仍然无法提取随之而来的数字(没有括号)。 需要在类别和数量之间分开(不一起提取)。 也许用regex等做另一个for循环...

这是代码:

<?php
    $grep = new DoMDocument();
    @$grep->loadHTMLFile("http://www.lelong.com.my/Auc/List/BrowseAll.asp");

    $finder = new DomXPath($grep);
    $class = "CatLevel1";
    $nodes = $finder->query("//*[contains(@class, '$class')]");

    foreach ($nodes as $node) {
        $span = $node->childNodes;
        echo $span->item(0)->nodeValue."<br>";
    }
?>

我有什么办法吗?谢谢!

这是我想要的输出:

Arts, Antiques & Collectibles : 9768<br>
B2B & Industrial Products : 2342<br>
Baby : 3453<br>
etc...

1 个答案:

答案 0 :(得分:0)

也可以添加其他兄弟姐妹。例如:

foreach ($nodes as $node) {
    $span = $node->childNodes;
    echo $span->item(0)->nodeValue . ': ' . str_replace(array('(', ')'), '', $span->item(1)->nodeValue);
    echo '<br/>';
}

编辑:只需使用str_replace就可以删除该括号。

旁注:始终将UTF-8编码放在PHP文件中。

header('Content-Type: text/html; charset=utf-8');