2011-11-29 2 views
0

내 학교 명단에서 정보를 얻으려면 SimpleHTMLDOM을 사용하고 있습니다. 문제는 테이블 구조가 구문 분석하기가 어렵고 도움이 필요하다는 것입니다.SimpleHTMLDom 반복 테이블을 통해

표는 다음과 같습니다 이 http://pastebin.com/xg3mRAHw

코드는 다음과 같습니다 결과는 (또한 내가 같이하는 결과를 방법을 포함!) 다음과 같습니다 http://pastebin.com/gWW7WyDA

:

현재 형식 :

 
array 
    3 => 
    array 
     '28-11-2011' => 
     array 
      0 => string '08.45-10.30 ' (length=12) 
      1 => string 'CMD-1 HC interaction design' (length=27) 
      2 => string 'CMD-1vt-p2.01 - CMD-1vt-p2.18 ' (length=30) 
      3 => string 'OVk45' (length=5) 
      4 => string 'J.P. van Leeuwen' (length=16) 
      5 => string '10.30-12.15 ' (length=12) 
      6 => string 'CMD-1 Training samenwerken' (length=26) 
      7 => string 'CMD-1vt-p2.09 - CMD-1vt-p2.10 ' (length=30) 
      8 => string 'SL433' (length=5) 
      9 => string 'B. Hartman' (length=10) 

원하는 형식 :

 
array 
    3 => 
    array 
     '28-11-2011' => 
     array 
      0 => 
      array 
       'time' => string '08.45-10.30 ' (length=12) 
       'name' => string 'CMD-1 HC interaction design' (length=27) 
       'group' => string 'CMD-1vt-p2.01 - CMD-1vt-p2.18 ' (length=30) 
       'place' => string 'OVk45' (length=5) 
       'teacher' => string 'J.P. van Leeuwen' (length=16) 
      1 => 
      array 
       'time' => string '10.30-12.15 ' (length=12) 
       'name' => string 'CMD-1 Training samenwerken' (length=26) 
       'group' => string 'CMD-1vt-p2.09 - CMD-1vt-p2.10 ' (length=30) 
       'place' => string 'SL433' (length=5) 
       'teacher' => string 'B. Hartman' (length=10) 

문제는 (단지) SimpleHTMLDOM을 사용하여이 결과에 어떻게 도달 할 수 있는지 이해할 수 없다는 것입니다. 나는 배열의 최종 마크 업에 가깝기 때문에 내가 여기서 뭔가를 놓치고 있다고 확신한다. 미래의 사례처럼 실제로 나타나게하는 마지막 단계는 내가 일할 수없는 일입니다.

누군가 내가 계속 진행하고 원하는대로 배열을 얻는 방법에 대한 몇 가지 팁을 줄 수 있습니까? 나는 XSL을보고있다. 그러나 그것은 나에게 너무 복잡하다.

답변

1

tr 배열도 분할해야합니다.

$count = 0; 
foreach ($table as $tr) { 
... 
    $output[$info['week']][$info['date']][$count] = array(); 
    $count++; 
... 
$output[$info['week']][$info['date']][$count][] = $td->innertext; 

이제 '시간', '이름', '그룹'등의 값으로, 난 아무데도 XML에서 사람들을 볼 수 없습니다, 그래서 당신이 바로 그 때 내부 카운트를 유지해야 할 것 같아요 td->innertext을 추가하십시오.

+0

필자는 결과를 어느 정도 얻을 수 있었지만 HTML 문서를 구문 분석하는 다른 방법을 찾아야했습니다. 이것은 어떻게 든 해석해야하는 테이블 예제 (데이터 대체)입니다 : http://pastebin.com/zNu7iTTJ SimpleHTMLDom이 올바르게 구문 분석 할 수있는 것 같지 않아 그것은 나를 위해 속임수를 않습니다. – user1071524