2011-02-09 67 views
0

嘿傢伙, 我完全不熟悉cURL - 我從來沒有用過它。 如果我下面兩行我的側欄裏面......curl_init和curl_exec:提取表?

<?php 
    $objCUrl = curl_init("http://www.domain.com/hptool/weather_v1.php?cid=43X1351&l=en"); 
    curl_exec($objCUrl); 
?> 

粘貼...我得到兩個div和表格插入到我的網頁。有沒有一種方法可以檢查所有使用curl_init函數加載的東西?我只想在我的網頁上插入特定的內容,而不是所有內容?例如。我只想插入表格,但不是插入到我的頁面的兩個div。

我知道我可以簡單地用CSS隱藏它們,但我只是好奇。

+1

您可以使用的file_get_contents對於這個簡單的例子: -/ – nc3b 2011-02-09 15:02:27

回答

4

將結果保存爲字符串而不是輸出。

$url = 'http://www.domain.com/hptool/weather_v1.php?cid=43X1351&l=en'; 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_HEADER, false); 

$str = curl_exec($curl); 

現在你可以從$str中拉出你需要的任何東西並顯示出來。

首先你應該去the documentation關於如何使用函數/庫。

+0

我缺少強制性的「不可解析(X)HTML具有reg-EX」的提示。 +1反正:-) – 2011-02-09 15:05:00

1

另一種常見方法是在您的curl_exec($objCUrl)調用周圍使用輸出緩衝區。

ob_start(); 
curl_exec($objCUrl); 
$str = ob_get_contents(); 
ob_end_clean(); 
+0

當curl已經有內部機制來完成這個任務時,不需要這種重型火炮,並且捕獲完整的請求狀態,而不是隻輸出(你需要調試/錯誤handlign) 。 – 2011-02-09 16:19:39