2014-04-12 2 views
1

안녕하세요 행과 열이있는 테이블이 있습니다. 태그 이름을 가진 모든 요소를 ​​얻기 위해이 코드를 사용xmlDom 비 개체의 멤버 함수 항목() 호출

<table> 
    <tr> 
    <td style="font-size:14px"></td> 
    </tr> 
    <tr> 
    <td background="image.jpg"></td> 
    </tr> 
</table> 

그리고 메신저 td

$td= $xmlDoc->getElementsByTagName('td'); 

그런 다음이 코드를 통해 각 td 태그를 얻을 그것을 반복

for($i = 0; $i<$td->length; $x++){ 
    print_r($td->item($i)); 
} 

문제는 때입니다 td 태그 안에 style 속성이 있습니다.이 오류가 발생합니다. Fatal error: Call to a member function item() on a non-object. 하지만 td 태그 안에있는 style 속성을 제거하면 작동합니다.

<table> 
    <tr> 
    <td></td> 
    </tr> 
    <tr> 
    <td background="image.jpg"></td> 
    </tr> 
</table> 

을 그리고이 하나되지

<table> 
    <tr> 
    <td style="font-size:14px;"></td> 
    </tr> 
    <tr> 
    <td background="image.jpg"></td> 
    </tr> 
</table> 

내 목표는 td 태그 내부의 background 속성에 액세스하는 것입니다 수행합니다

그래서 이것을 작동합니다.

답변

1

사용하십시오 foreach은 삶을 더 쉽게하기 위해

foreach ($dom->getElementsByTagName('td') as $tag) { 
    if ($tag->getAttribute('background')) { 
     echo $tag->getAttribute('background'); //"prints" image.jpg 
    } 
} 

Working Demo

+0

좋아, 내 코드를 수정하고 그것이 작동하는지 확인하려고합니다. – Kiel

+0

내가 쓴 코드는 실제로 작동하는 하나입니다 :) –

+1

haha ​​예, 당신을 믿습니다! – Kiel