2012-04-29 44 views
-2

代碼:提取文本 - 簡單的HTML DOM解析器

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

我得到的輸出就是數組。這意味着它是空的。我確定div是在我正在刮的頁面上預設的。

另外,我試圖實現的另一件事是,從HTML文本。當我簡單地將其轉換爲明文時,會導致大量不需要的數字和內容。所以我想要做的是,獲取我在瀏覽器中看到的文字。 (而不是從html中獲取整個文本)。

歡迎您提出任何建議。

+0

你的意思呼應$漚而不是$ HTML?另外,$ ret->明文應該可以工作。 – pdizz

+0

我建議你採用'DOMDocument'而不是簡單的html dom解析器 - 它工作得更好,記錄更好,更容易擴展。你也應該做'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

當回聲輸出「數組」時,表示該變量不是一個字符串(而是一個數組)。嘗試var_dump()或print_r() – Umbrella

+0

是的,我認爲是一樣的,嘗試print_r和它返回Array() – Kishor

相關問題