PHP 脚本仅跳过第一行
PHP Script is skipping only first row
我有一个简单的 html dom 解析器,它带有将解析后的数据保存到数据库中的脚本。但是这里 dom 跳过第一行,同时继续解析所有其他数据。我从中解析数据的 url 是: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。请帮我解决这个问题。
这跳过了前 3 行
$i=1;
if($i<4){$i++;continue;}
更改
if($i<3){$i++;continue;}
你又得到了你需要的一行。
在尝试了很多方法之后,我终于找到了最好的解决方案,这是一个非常简单的步骤。只需要在同一个实例中进行两个小的更改...代码段:
....
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);
........
我有一个简单的 html dom 解析器,它带有将解析后的数据保存到数据库中的脚本。但是这里 dom 跳过第一行,同时继续解析所有其他数据。我从中解析数据的 url 是: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。请帮我解决这个问题。
这跳过了前 3 行
$i=1;
if($i<4){$i++;continue;}
更改
if($i<3){$i++;continue;}
你又得到了你需要的一行。
在尝试了很多方法之后,我终于找到了最好的解决方案,这是一个非常简单的步骤。只需要在同一个实例中进行两个小的更改...代码段:
....
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);
........