2012-04-29 5 views
-2

코드 :추출 텍스트 - 간단한 HTML 돔 파서

$html = file_get_html('http://url.com'); 
$ret = $html->find('div[samplediv]'); 
echo $ret; 

내가 얻을 출력은 단지 배열입니다. 그것은 비어 있음을 의미합니다. div가 내가 긁어 모으고있는 페이지에 미리 설정되어 있다고 확신합니다.

또한, 내가 달성하려고하는 또 다른 사항은 HTML에서 텍스트를 가져 오는 것입니다. 단순히 일반 텍스트로 변환하면 원치 않는 숫자와 물건이 많이 생깁니다. 그래서 내가하려는 것은, 브라우저에 보이는 텍스트를 얻는 것입니다. (HTML에서 전체 텍스트를 가져 오는 대신).

모든 제안을 환영합니다.

+0

가 대신 $ html로의 마지막 ret $ 에코 뜻 않았다 발견? 또한 $ ret-> plaintext가 작동해야합니다. – pdizz

+0

간단한 DOM DOM 파서 대신 DOMDocument를 사용하는 것이 좋습니다. 훨씬 더 잘 작동하고 훨씬 더 문서화되고 확장하기 쉽습니다. 또한 당신은'error_reporting (~ 0); 파일 상단에 ini_set ('display_errors', 1);을 입력하고 경고 및주의 사항을 수정하십시오. 그것은 결국 당신에게 당신의 질문에 대한 답을 줄 것입니다. – hakre

+0

'$ html-> find ('div [id = samplediv]');'당신이 넣어 놓은 것이 잘못된 것 같아요. – Ricki

답변

8

전체 문서를 출력하는 것처럼 보입니다.

echo $ret->innertext; 

그냥 div의 내용을 출력 해보십시오.

PS : 난 그냥 구글에에서이 고개를 http://simplehtmldom.sourceforge.net/manual.htm

+0

답변이 업데이트되었습니다. 이제 Array 이외의 값을 반환합니다. Innertext를 사용하면 아무 것도 반환하지 않습니다. – Kishor

+0

에코가 "Array"를 출력하면 변수가 문자열이 아니라는 것을 의미합니다 (그러나 배열). – Umbrella

+0

그래, 내가 생각했던 print_r을 시도하고 Array()를 반환 – Kishor