我想寫一個PHP腳本來抓取一個網站,並保留在數據庫中的一些元素。php - 簡單的HTML DOM - 其他元素之間的元素
這裏是我的問題:一個網頁是這樣寫的:
<h2>The title 1</h2>
<p class="one_class"> Some text </p>
<p> Some interesting text </p>
<h2>The title 2</h2>
<p class="one_class"> Some text </p>
<p> Some interesting text </p>
<p class="one_class"> Some different text </p>
<p> Some other interesting text </p>
<h2>The title 3</h2>
<p class="one_class"> Some text </p>
<p> Some interesting text </p>
我想只有H2和P有趣的文本,而不是在p類=「one_class」。
我嘗試這樣做PHP代碼:
<?php
$numberP = 0;
foreach($html->find('p') as $p)
{
$pIsOneClass = PIsOneClass($html, $p);
if($pIsOneClass == false)
{
echo $p->outertext;
$h2 = $html->find("h2", $numberP);
echo $h2->outertext;
$numberP++;
}
}
?>
功能PIsOneClass($ HTML,$ p)爲:
<?php
function PIsOneClass($html, $p)
{
foreach($html->find("p.one_class") as $p_one_class)
{
if($p == $p_one_class)
{
return true;
}
}
return false;
}
?>
它不工作,我明白爲什麼,但我不知道如何解決它。
我們怎麼說「我想每個沒有班級的人都在兩個h2之間?」
Thx很多!
如果他們都是'p.one_class',那麼爲什麼不在輸出保存結果之前查找這些'p'標籤並將其刪除? – 2014-10-19 14:07:19
但是我怎樣才能訂購h2和p?有了這個腳本,它會打印h2 p h2 p h2 p,但我想要類似h2 p p h2 p – 2014-10-19 14:29:49