我正在解析一個html文檔,並且需要提取其中的所有價格(格式爲$ 99.00)。所以我想要做的是提取其類或id屬性中包含「Price」(或「price」)子字符串的所有元素。但我嘗試使用類似$(「[class * ='Price']」)或$(「[id * ='Price']」),然後在數組上連接結果,但jquery選擇器部分工作不正常,沒有找到任何東西。我做錯了什麼,還是有更好的方法來做到這一點?任何建議更好的方法? 謝謝。使用jQuery從html中提取價格
UPDATE:我實際上使用一個名爲phpQuery的jQuery端口爲php。
UPDATE2:我不知道元素的確切類或ID,因爲這是一個通用的腳本,我會在不同的電子商務網站運行,所以這就是爲什麼我使用* =通配符獲取所有元素(主要是a,div,span等,我不需要輸入)。我想通了,這是我到目前爲止:
function getPrice($doc){
phpQuery::selectDocument($doc);
$prices = array();
foreach(pq("[class*='Price'], [class*='price'], [id*='Price'], [id*='price']") as $res){
$each = pq($res);
if(preg_match('/\$\d+(?:\.\d+)?/', $each->text(), $matches)){
echo '<br>'.$matches[0].'</br>';
$prices[] = $each->html();
}
}
}
這是打印正確的元素。現在我需要提取這些元素的字體大小,以便我可以按字體大小對數組進行排序。
請添加jsfiddle的HTML。 – iambriansreed 2012-03-27 15:07:03
顯示您的代碼。 – Ryan 2012-03-27 15:08:43