Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解析HTML页面_Php_Dom_Html Parsing - Fatal编程技术网

Php 解析HTML页面

Php 解析HTML页面,php,dom,html-parsing,Php,Dom,Html Parsing,我在解析一个HTML页面时遇到了一个小问题 这是我到目前为止写的剧本 <?php include('simple_html_dom.php'); $resoults = array(); $URL = "http://www.ajpes.si/eobjave/rezultati.asp?podrobno=0&id_skupina=51&TipDolznika=-1&TipPostopka=-1&id_SkupinaVrsta=-1&id_sku

我在解析一个HTML页面时遇到了一个小问题

这是我到目前为止写的剧本

<?php

include('simple_html_dom.php');

$resoults = array();

$URL = "http://www.ajpes.si/eobjave/rezultati.asp?podrobno=0&id_skupina=51&TipDolznika=-1&TipPostopka=-1&id_SkupinaVrsta=-1&id_skupinaPodVrsta=-1&Dolznik=&Oblika=&MS&DS=&StStevilka=&Sodisce=-1&DatumDejanja_od=&DatumDejanja_do=&sys_ZacetekObjave_od=26.6.2014&sys_ZacetekObjave_do=26.6.2014&MAXREC=7000&mdres=3";

getResoults($URL);

function getResoults($URL) 
{

     global $resoults;

     $html = new simple_html_dom();
     $html->preserveWhiteSpace = false; 

     $html->load_file($URL);

     $items = $html->find("td.tabData a");  


    foreach($items as $key => $post) 
     {
         $resoults[][] = array($post->plaintext);     
     }

        $html->clear(); 
        unset($html);

        print_r(array_values($resoults[1]));
        print_r(array_values($resoults[2]));
        print_r(array_values($resoults[3]));    
        print_r(array_values($resoults[4]));
        print_r(array_values($resoults[5]));
        print_r(array_values($resoults[6]));

}

?>
对于下一个节点:

Array[2][0] 
Array[2][1] 
Array[2][2] 
如果有人能帮我,那就太好了


谢谢大家抽出时间

您需要首先找到所有tr,然后转到该tr中的所有td

替换此项:

$items = $html->find("td.tabData a");  

foreach($items as $key => $post) 
 {
     $resoults[][] = array($post->plaintext);     
 }
使用此示例代码:

$tableRows = $html->find("tr");

foreach ($tableRows as $rowKey => $rowValue)
{
    static $i = 0;

    $tds = $rowValue->find("td.tabData a");

    // tr does not have any td's of that class
    if (count($tds) == 0)
        continue;

    foreach($tds as $key => $post) 
    {
        $resoults[$i][] = $post->plaintext; 
    }  
    $i++;
}
完整的
$resourcts
数组现在如下所示:

Array[1][0] 
Array[1][1] 
Array[1][2] 
排列(

)


这就是你要找的吗?

你有没有试过
$resourcts[$key][]=array($post->plaintext)?@andrew,这将不起作用,因为它将返回td的密钥,而不是tr。
[0] => Array
    (
        [0] => postopek osebnega stečaja
        [1] => Borka Bolić
        [2] => ni vpisa
        [3] => ni javna
        [4] => 2084/2013
        [5] => 24.6.2014
    )

[1] => Array
    (
        [0] => stečajni postopek nad pravno osebo
        [1] => PROTOCOL, protokolarni prevozi in poslovne storitve, d.o.o. - v stečaju
        [2] => 5670829000
        [3] => 28282345
        [4] => 2523/2013
        [5] => 4.6.2014
    )

[2] => Array
    (
        [0] => stečajni postopek nad pravno osebo
        [1] => Lira skupina, trgovina in storitve d.o.o.
        [2] => 5462975000
        [3] => 20767285
        [4] => 2328/2013
        [5] => 31.5.2014
    )