我使用simple_php_dom
和curl通過PHP從網頁獲取一些信息。問題是頁面沒有正確構建,所以DOM對象包含錯誤的信息。如何通過PHP獲取HTML頁面作爲字符串?
如何獲取HTML文件作爲PHP變量中的字符串,以便我可以通過它運行正則表達式?
由於忽略不好的部分,所以不起作用。
simple_html_dom.php
有同樣的問題。
wget
不起作用,因爲我沒有服務器上的權限。
我使用simple_php_dom
和curl通過PHP從網頁獲取一些信息。問題是頁面沒有正確構建,所以DOM對象包含錯誤的信息。如何通過PHP獲取HTML頁面作爲字符串?
如何獲取HTML文件作爲PHP變量中的字符串,以便我可以通過它運行正則表達式?
由於忽略不好的部分,所以不起作用。
simple_html_dom.php
有同樣的問題。
wget
不起作用,因爲我沒有服務器上的權限。
file_get_contents - 整個文件讀入一個串
string file_get_contents (
string $filename [, int $flags= 0 [, resource $context [, int $offset= -1 [, int $maxlen= -1 ]]]]
)
從手動:
該功能類似於文件(),不同之處在於file_get_contents()函數返回文件中的一個字符串,從指定的偏移量開始到maxlen字節。失敗時,file_get_contents()將返回FALSE。
file_get_contents()是將文件內容讀入字符串的首選方法。如果您的操作系統支持,它將使用內存映射技術來提高性能。
它同時適用於網頁和文件。您可以使用「http://whatever.com/page.html」作爲$ filename來獲取HTML。
,捲曲你想確保你設置CURLOPT_RETURNTRANSFER參數,以確保該頁面爲一個字符串,如檢索:
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
我用捲曲來獲取文件到一個字符串(simple_html_dom :: load_file只是包裝file_get_contents),然後使用simple_html_dom加載(從字符串)方法來解析它。這適用於某些URL,但在URL具有參數字符串的情況下會失敗。它正在提取URL,就好像它沒有參數字符串一樣。我用curl設置了一個代理來模擬瀏覽器,但沒有骰子。
對不起,這不是一個真正的答案,但也許使用捲曲將適用於一些人,對於誰打開設置是一個問題。
那就是我的建議。 – Christian 2009-07-29 22:47:39