2012-03-07 72 views
1

是否可以通過cURL獲取某個類名?cURL + PHP獲取類名稱,可能嗎?

例如,我只想得到123這個<div class="123 photo"></div>

這可能嗎?

感謝您的回覆!

編輯:

如果這是什麼網站

<div class="444 photo">...</div> 
<div class="123 photo">...</div> 
<div class="141 photo">...</div> 

etc... 

上看到我試圖讓這個類的所有號碼,並把在一些陣列。

+1

'cURL'只是通過不同的協議檢索內容。它不搜索或操縱該內容。我們需要更多關於您想要做什麼的信息,以及您目前如何嘗試完成這些信息。 – Morgon 2012-03-07 17:53:54

+1

cURL沒有自己的文本處理功能。我假設你問你是否可以使用PHP來提取,而答案是肯定的,你可以使用正則表達式。 – 2012-03-07 17:55:31

+0

@Morgon,你是什麼意思?我只是想從另一個網站的cURL獲得類名123,我需要init()或其他的東西,我仍然是新的..謝謝 – hellomello 2012-03-07 17:59:40

回答

4

cURL只是解決方案的一半。它的工作僅僅是檢索內容。一旦你有了這些內容,那麼你可以做字符串或結構操作。有一些可以使用的文本功能,但似乎您正在尋找這些內容中的特定內容,因此您可能需要更強大的功能。因此,對於這個HTML內容,我建議你研究一下DOMDocument,因爲它會把你的內容構造成類似於XML的層次結構,但是更加寬容HTML標記的寬鬆性質。

$ch = curl_init(); 
// [Snip cURL setup functions] 
$content = curl_exec($ch); 

$dom = new DOMDocument(); 
@$dom->loadHTML($content); // We use @ here to suppress a bunch of parsing errors that we shouldn't need to care about too much. 

$divs = $dom->getElementsByTagName('div'); 
foreach ($divs as $div) { 
    if (strpos($div->getAttribute('class'), 'photo') !== false) { 
     // Now we know that our current $div is a photo 
     $targetValue = explode(' ', $dom->getAttribute('class')); 

     // $targetValue will now be an array with each class definition. 
     // What is done with this information was not part of the question, 
     // so the rest is an exercise to the poster. 
    } 
} 
+0

你的網址是什麼?空的?很好的例子。 – delive 2016-03-02 14:14:27

+0

@delive - 據推測這將出現在「[Snip cURL setup functions]」塊中:)重點在於解析數據。 – Morgon 2016-03-03 20:20:37

+0

我知道,但其他人不知道,你需要清楚發表一個例子:) – delive 2016-03-04 07:59:43