1

我正在尝试遍历 HTML 页面的代码并重新格式化它的内容。它在 div 中有几个 div,我想提取它们。我尝试了各种形式的爆炸、正则表达式和 DOM,但找不到确切的方法。

例子:

<div class="section1">
 <div class="section2">number 1</div>
</div>
<div class="section1">
 <div class="section2">number 2</div>
</div>

我正在寻找的结果基本上是,对于每个第 1 节,从第 2 节获取内容,所以输出将是:数字 1,数字 2

有谁知道如何做这样的事情?

4

2 回答 2

3

应该很容易DOMXPath

$doc = new DOMDocument;
$doc->loadHTML(/*...*/); // load the HTML here
$xpath = new DOMXPath($doc);
$result = $xpath->query("//div[@class='section1']/div[@class='section2']/text()");

foreach ($result as $item) {
    echo "$item->wholeText\n";
}

看到它在行动

于 2012-09-17T13:07:00.543 回答
1

这是一个jQuery解决方案,而不是PHP

$('.section1).each(function() {
    return $(this).html();
});
于 2012-09-17T13:04:30.453 回答