以下是代码:
<?php
require_once 'simple_html_dom.php';
$url = "website.com";
$data = file_get_html($url);
$search = $data->find("div.box_rezult");
if($data->innertext!="" and $search ){
foreach($search as $box_rezult){
// Get lottery name
echo $box_rezult->find("td.lottery_name", 0)->plaintext;
echo "<br/>";
// Get date
echo $box_rezult->find("td.lottery_text", 0)->plaintext;
echo "<br/>";
// get the table of all results
$table = $box_rezult->find("table.last-draw-table", 0);
// get winning numbers
echo $table->children(2)->children(0)->plaintext;
echo "<br/>";
if (!isset( $table->children(2)->children(1)->plaintext )) {
}
else
echo $table->children(2)->children(1)->plaintext, '<br/>';
echo "<br/>";
}
}
$data->clear();
unset($data);
?>
结果是这样的:
Headline
Data
Text1
Text2
Headline
Data
Text1
Text2
等等。我需要的是每个结果的唯一div id以应用自定义样式。像这样:
<div id="header_1" class="headings">
Headline
Data
Text1
Text2
标题 数据 文本1 文本2
我用这个:
if($data->innertext!="" and $search ){
foreach($search as $box_rezult){
$index = 0;
// Get lottery name
echo "<div id=\"header_".$index."\" class=\"headings\">".$box_rezult->find("td.lottery_name", 0)->plaintext."</div>";
echo "<br/>";
....
....
$index++;
但每次我得到div id="header**_0**" class="headings">
。请更正代码。
另外一个问题是如何隐藏孩子(1)第4个结果的文本(如果存在)。
谢谢!
答案 0 :(得分:0)
如果我查看你的最后一个代码块,我会看到&#34; $ index ++;&#34;是在foreach之外。
放置&#34; $ index = 0;&#34;在foreach和&#34; $ index ++;&#34;在foreach里面增加它。
答案 1 :(得分:0)
您想要枚举$ search。删除$index
的当前增量和初始化并使用
foreach($search as $index => $box_rezult){