2016-10-06 2 views
1

테이블 인 HTML 문자열을 구문 분석하려고합니다. 나는 그 테이블의 첫 번째 줄을 제거했다. 그러면 테이블의 두 번째 열을 어떻게 제거 할 수 있습니까? 간단한 HTML DOM 파서. 테이블의 첫 번째 행을 제거한 다음 각 두 번째 열을 제거하십시오.

나는 다음과 같이 첫 번째 행을 제거 :

$preparsed = "<div style='border:1px #CCCCCC dotted; padding:5px'><div style=''> 
       <div id='divPrint'>   
        <table cellpadding='5' cellspacing='0' width='886'> 
        <tr bgcolor='#666666' class='normal' style='color:#FFFFFF; font-weight:bold;'> 
         <td width='100px' style='font-size:11px;'><b>Type</b></td> 
         <td width='110px' style='font-size:12px;'><b>Date</b></td> 
         <td width='100px' style='font-size:12px;'><b>Details</b></td> 
         <td width='140px' style='font-size:12px;'><b>Instructor</b></td> 
         <td width='140px' style='font-size:12px;'><b>Student/Client</b></td> 
         <td style='font-size:12px;'><b>Comment</b></td> 
        </tr> 
        <tr class='normal' style='font-size:11px' bgcolor='#EEEEEE'> 
        <td style='font-size:12px;'>Training</td> 
        <td style='font-size:12px;'>2016-10-05 <br /><i class='small'>(16:00:00-18:00:00)</i></td> 
        <td style='font-size:12px;'>Zara</td> 
        <td style='font-size:12px;'>Gary</td> 
        <td style='font-size:12px;'>Alfred</td> 
        <td style='font-size:12px;'></td> 
        </tr><tr class='normal' style='font-size:11px' bgcolor='#FFFFFF'> 
        <td style='font-size:12px;'>Training</td> 
        <td style='font-size:12px;'>2016-10-05 <br /><i class='small'>(12:00:00-15:00:00)</i></td> 
        <td style='font-size:12px;'>Zara</td> 
        <td style='font-size:12px;'>Gary</td> 
        <td style='font-size:12px;'>shawn</td> 
        <td style='font-size:12px;'></td> 
        </tr> 
        </table> 
       </div> 
       </div></div>"; 

$html = new simple_html_dom(); 
$html->load($preparsed); 
$rows = array_slice($html->find('tr'), 1); 
foreach ($rows as $element) { 
echo '<h3>'. $element->plaintext . '</h3>'; 

이 첫 번째 행을 제거합니다. a) a) 먼저 각 행의 두 번째 열 (날짜)을 제거하거나 b) 첫 번째 행을 먼저 제거한 다음 각 행의 두 번째 열을 모두 제거 할 수 있습니까? 이처럼

답변

1

:

$html = new simple_html_dom(); 
$html->load($preparsed); 
$rows = array_slice($html->find('tr'), 1); 
foreach ($rows as $element) { 
    echo '<h3>'. $element->plaintext . '</h3>'; 
    $cols = array_slice($element->find('td'), 2); 
    foreach ($cols as $col) { 
     echo '<h4>The second col os the row values '. $col->plaintext . '</h4>'; 
    } 
} 
+0

딱! 나는 $ cols에 대해서도 array_slice를 사용해야 만한다는 것을 알았다. 고마워. –