1
我已經這樣做了,所以當我使用XML解析器,但它似乎不工作時,我使用simple_html_dom拉從頁面中的數據。如何停止從simple_html_dom循環某些ammoung後foreach循環php
這是我現在的代碼。
$counter = 0;
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($curl, CURLOPT_URL, 'the url of the website');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$str = curl_exec($curl);
curl_close($curl);
$feedURL = str_get_html($str);
foreach($feedURL->find('li[class="videoblock"]') as $video) {
$get_title = $video->find('span[class="title"]', 0);
$title = $get_title->plaintext;
echo $title . '<br/>';
if ($counter+1 >= 3) break;
}
$feedURL->clear();
unset($feedURL);
所以它的視頻網站,其中有許多影片包裹類=「videoblock」,所以我設置爲找到videoblock類和循環li元素拉他們的數據的foreach之一。
但是,因爲可以有20個視頻(li元素與videoblock類),我想限制循環只有3,然後停止。
所以不宜
if ($counter+1 >= 3) break;
停止它一旦獲得對數3或者是不同與simple_html_dom獲取數據時?在我使用simplexml_load_file獲取數據的函數中使用它。
這工作,但爲什麼是$計數器++不同於$ counter + 1,如果我使用$ counter ++> = 3,它會得到4個視頻,而不是3,所以我應該設置啓動計數器爲$ counter = 1或設置$ counter ++> = 2來獲得3個視頻。這就是爲什麼我設置$ counter + 1 –
@AleksandarĐorđević我剛剛編輯了一個鏈接到手冊,在你的情況下,你需要增加,然後比較。 '++'操作變量,'+ 1'不修改變量,你需要手動賦值:'$ counter = $ counter + 1'。 – jeroen
是的,是的,我在你的文章和編輯之間寫了一個答案。現在我明白了,不知道預增值和後增值之間是否有區別。感謝您提供非常快速的答覆。但是,stackoverflow不允許我接受你的答案呢。我稍後回來將其標記爲已接受。 –