2011-07-18 71 views
9

因此,我正在研究PHP腳本,其中的一部分需要能夠查詢網站,然後從中獲取文本。如何從使用PHP的網站獲取文本?

首先,我需要能夠查詢某個網站的URL,然後我需要能夠從查詢後從該網站的文本中獲取文本,並且能夠將該文本從該函數中返回。

如何查詢網站並從中獲取文本?

回答

0

您可以使用file_get_contents或者如果您需要更多控制(即提交POST請求,設置用戶代理字符串...),您可能需要查看cURL

file_get_contents例子:

$content = file_get_contents('http://www.example.org'); 

基本捲曲例子:

$ch = curl_init('http://www.example.org'); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3'); 

$content = curl_exec($ch); 

curl_close($ch); 
0

如果您已經安裝了捲曲,使用它。否則:

$website = file_get_contents('http://google.com'); 

然後,您需要搜索所需文本的字符串。你如何做到這一點取決於網站和你正在閱讀的文字。

0

您需要使用CURL。你可以得到一些樣品here

0

如果你想要更多的控制,使用cURL。否則:..的file_get_contents

$url = "http://www.example.com/test.php"; // Site URL. 
$site = file_get_contents($url);    // Gets site response. 
0

這可以通過讓所有的內容從完成網頁利用上面已經列出的方法,然後使用正則表達式刪除打開和關閉括號之間的所有字符?

,看起來像這樣的頁面:

<html><style> h1 { font-style:... }</style><h1>stuff in here</h1></html> 

隨後將成爲這個後的正則表達式

h1 { font-style:... }stuff in here 

而且因爲我們要刪除各種標記,如之間的所有代碼[style]標籤,我們可以首先使用正則表達式來刪除[style和/ style]之間的所有字符,這樣我們只剩下了:

stuff in here 

那麼這項工作呢?請回復,如果你認爲它會或如果你預見錯誤,因爲我想創建一個工具與此解析。