2012-09-28 3 views
1

PHP로 구문 분석하는 데 문제가 있습니다. 간단한 HTML DOM -lib.PHP 간단한 HTML DOM 셀 값

HTML : 그에서 part의를 "내가 데리러하려는 실제 텍스트"를 얻는 방법을 잘 모릅니다

<td> 
<span>text</span> 
actual text i want to pick up 
<span>text2</span> 
</td> 

. $ node-> innertext와 $ node-> plaintext에는 span 태그 안에 텍스트가 있습니다.

편집 : 내가

$node->innertext // prints the whole thing 
$node->plaintext // prints "textactual text i want to pick uptext" 
$node->tag //prints td 

수동 나던

을 시도 내 같은 경우에 대한 명확한 언급을 줄 것으로 보인다.

해당 라이브러리보다 html을 더 잘 구문 분석 할 수있는 방법이 있다면 다른 제안도 할 수 있습니다. 나는 그 도서관에서 내가 원하는 것을 대부분 얻었지만, 나는 택할 수 없었다.

+5

질문을 편집하여 시도한 것을 보여주십시오. –

+0

간단한 HTML DOM은 (내 눈 * 매우 *) 제한적이고 깨지며 결함이있는 구성 요소입니다. 나는 당신이 찾고있는 것이 단순한 HTML DOM으로도 쉽게 불가능하다고 생각할 것이다. 그러면 왜 그 도서관이 당신이 성취하고자하는 것을 할 수있을 것이라고 기대합니까? – hakre

답변

0

확인

$source = '<td> 
<span>text</span> 
actual text i want to pick up 
<span>text2</span> 
</td>'; 

$dom = str_get_html($source); 
var_dump($dom->plaintext); 

출력 다음 str_get_html을 사용할 수 있습니다, 내가 필요한 정보에 액세스하는 방법을 생각. $ node-> children ($ x) -> innertext에 대해 다른 조합을 시도했지만 그게 도움이되지 못했습니다. 이 방법은 나에게 "옳은"느낌이 들지 않지만 제 경우에는 효과가 있습니다.

foreach($node->nodes as $c) { 
    if($c->tag == "text") 
    $text = $c->innertext; 
} 
0

당신은

text actual text i want to pick up text2 
+0

OP가 '실제 텍스트를 가져오고 싶습니다.' – Tchoupi

+0

그래, 비슷한 방법을 시도했지만 언급 한 바와 같이 너무 많은 텍스트를 제공합니다. 나는 스팬 태그 안의 것들을 원하지 않는다. – Kemu79

관련 문제