2

基本的にdivのリストである文字列にhtmlのブロックがあります...各divには、個別に解析したいhtmlが含まれています。

最初のdivをループする方法を正確に理解するのに問題があります。

誰か助けてもらえますか?

htmlの例:

<div><!-- stuff in here --></div>
<div><!-- stuff in here --></div>
<div><!-- stuff in here --></div>
<div><!-- stuff in here --></div>

この例では、最終的なコードが4回ループし、各divの内容を提供することを期待しています。

4

2 に答える 2

10

これは機能するはずです (HTML が外部ファイルにある場合):

$doc = new DOMDocument();
$doc->loadHTMLFile('test.html');
$divs = $doc->getElementsByTagName('div');
foreach($divs as $n) {
    echo $n->nodeValue;
}

HTML を含む文字列の場合は、次のようにします。

$doc = new DOMDocument();
$doc->loadHTML('<html><body><div>A</div><div>B</div><div>C</div><div>D</div></body></html>');
$divs = $doc->getElementsByTagName('div');
foreach($divs as $n) {
  echo $n->nodeValue . "\n";
}

これは以下を生成します:

A
B
C
D
于 2010-01-18T21:16:08.180 に答える
0

XHTML の場合は、SimpleXML を使用できます。

$xml = simplexml_load_string($xhtmlstring);
foreach ($xml->div as $d) {
   {
   //parsing
   }
}
于 2010-01-18T21:18:43.230 に答える