2011-11-09 5 views
0
나뿐만 아니라 <tr> 태그 더욱 TD와 TR 태그가 HTML 테이블 <table width=250 border=0 cellspacing=0 cellpadding=0 bgcolor=#F9F400> 의 세트를 가지고

을 찾아 simplehtmldom를 사용하는 방법.구문 분석하고 테이블

과 내가 가지고있는이 PHP 표현 echo $html->find(''table td[bgcolor=#F9F400]');

하지만 아무것도 반향없는 것 및 로그인 오류는이 작업을 수행하는 잘못된 방법이다, 없다? 전체 테이블을 그대로 표시하고 싶습니다. 주어진 HTML에서

+0

제안 타사 대안을 : 당신이 쓴 것과 마찬가지로, 당신은 그것을 좋아 할 수있는 .net/manual/ko/book.dom.php) 대신에 문자열 분석 : [phpQuery] (http://code.google.com/p/phpquery/), [Zend_Dom] (http : //framework.zend. com/manual/ko/zend.dom.html), [QueryPath] (http://querypath.org/) 및 [FluentDom] (http://www.fluentdom.org)을 참조하십시오. – Gordon

답변

0

는 :

<table width=250 border=0 cellspacing=0 cellpadding=0 bgcolor=#F9F400> 

당신은 누구의 bgcolor#F9F400 인 테이블을 선택해야합니다. 현재 td 요소를 배경색으로 선택하고 있습니다. 표를 얻기 위해 시도 :

$table = $html->find('table[bgcolor=#F9F400]', 0); 

0는 첫 번째 결과를 원하는 나타내고, 그렇지 않으면 당신은 배열을 돌려 받게됩니다. 다음 echo 테이블을 자동으로 개체를 문자열로 변환 할 수 있습니다;

echo $table; 

당신이 테이블 내부의 모든 td 요소 얻고 싶은 경우에이 배열을 반환하고, 그래서 당신은 자신의 내용을 인쇄하는 그들을 통해 루프 필요

$tds = $table->find('td'); 

참고. // PHP : [SimpleHtmlDom] (http://simplehtmldom.sourceforge.net/) 실제로 [DOM] (HTTP를 사용하는 것과

// get all tds of table with bgcolor #F9F400 
$tds = $html->find('table[bgcolor=#F9F400] td'); 
foreach ($tds as $td) { 
    // do what you like with the td 
    echo $td; 
} 
+0

내가 돌아와 다시 업데이트 할 때 나는 그것을 시도 할 것이다! – eddy

+0

Doug : 그건 아니야, 어떻게 든 PHP 섹션에서 반향은 PHP 태그가있는 body 태그에서도 도움이되지 않습니다. 어쨌든 구문 분석이 제대로 수행되는지 여부를 확인할 수있는 출력이 없습니다. – eddy

+0

@eddy 일치하는 것이 있는지 보려면'$ table = $ html-> find ('table');와'echo count ($ table);'를 시도해보십시오. –

관련 문제