PHP脚本只跳过第一行

时间:2015-01-20 07:30:23

标签: php dom simple-html-dom domparser

我有简单的html dom解析器和脚本,它将解析后的数据保存到数据库中。但是这里dom跳过第一行,同时连续解析所有其他数据。我正在解析数据的网址是:http://krushimitra.co.in/4.html

我的php脚本也就像......

............
ini_set('max_execution_time', 0);

error_reporting(E_ALL);
ini_set('display_errors', '1');
$url='http://krushimitra.co.in/4.html';
include('dom.php');
$html=file_get_html($url);


    $record_find='first';
    foreach($html->find('table#GridView1') as $e){

                if($record_find=='first'){ $record_find="second";continue;}
         $i=1;
                 foreach($e->find('tr') as $e1){
                     if($i<4){$i++;continue;}
                                 $some=trim($e1->find('td', 0)->innertext);
                                 $somea=trim($e1->find('td', 1)->innertext);
                                 $someb=trim($e1->find('td', 6)->innertext);

                                 $col=trim($e1->find('td', 0)->colspan);
                                 if($col == 10){......
...........

我的dom是@ http://sourceforge.net/projects/simplehtmldom/files/。 我曾经对define('MAX_FILE_SIZE', 60000000);进行了调整。

我不知道为什么我的脚本不考虑第一行,这里是“Bhatiya(NIL Transaction)”,其中colspan为10.请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

跳过了前3行
$i=1;
if($i<4){$i++;continue;}

更改

if($i<3){$i++;continue;}

你还需要一行。

答案 1 :(得分:0)

最后,在尝试了这么多方法后,我达到了最佳解决方案,这是一个很容易的步骤。在同一个实例中只需要进行两次小的更改...代码段:

....

                if($record_find=='first')
//{ $record_find="second";continue;} // Removed this line
         $i=1;
                 foreach($e->find('tr') as $e1){
                     if($i<3){$i++;continue;} //made changes here as suggested by @legiero.
                                 $some=trim($e1->find('td', 0)->innertext);
........