Задача состоит в том, что бы пропарсить все страницы в каждой из известных категорий. Имеем массив категорий: Код (Text): $cat = array('cat_1', 'cat_2', 'cat_3', 'cat_4', 'cat_5'); Ссылки для любой из категорий имеют следующий вид: Код (Text): http://www.example.com/index.php?cat=cat_1&page=1 Последней страницы не существует! То есть начинает выводить: "Ничего не найдено!". Вот, что написал я: Код (Text): $cat = array('cat_1', 'cat_2', 'cat_3', 'cat_4', 'cat_5'); foreach ($cat as $_cat) { for ($page = 0; $resp = 1; ++$page) { $content = file_get_contents('http://www.example.com/index.php?cat='.$_cat.'&page='.$page); if (preg_match('#Ничего не найдено!#', $content)) { $resp = 1; } else { // Парсим страницу } } } Но всегда парсит только одну категория, то есть выводит 5 массивов с одними и теми же данными. Буду благодарен за любую помощь, спасибо!
Код (PHP): foreach(/* ... */) { $i = 0; while(true) { $c = file_get_contents(/* ... */); if( preg_match(/* ... */) ) { break; } // parse page $i++; } } гуд?
по логике автора форыч итерирует текстовые называния категорий, а фор - номера страниц до момента пока страницы не закончатся. в чем вопрос? можно оставить фор, его тоже можно рвать по брэйку.