[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с циклом парсера
Frost-56
Помогите плиз с циклом, не получается никак.


$url = 'http://bayguzin.ru/main.html?start=';
$i = '0';
$urlik = 'http://bayguzin.ru/assets/images/';

while($i <= 258){
$content = file_get_contents($url . $i);
if(preg_match_all('<img src="assets/images/(.*)" alt="*">', $content, $match)){
$i += 1;

}
else
{
break;
}
}



echo "<pre>";
print_r($match);
echo "</pre>";



Выводит только 1 страницу, а должен с 0 страницы прибавляя +6 к $i парсить дальше пока $i не станет равно 258 и всё вывести в цикл.
killer8080
Frost-56
у тебя ошибка в регулярке, ограничители забыл
Frost-56
Регулярка работает, но выводит только 1 страницу:

Array
(
[0] => Array
(
[0] => img src="assets/images/preview38.jpg" alt="
[1] => img src="assets/images/preview43.jpg" alt="
[2] => img src="assets/images/preview53.jpg" alt="
[3] => img src="assets/images/menu(1).jpg" alt="
[4] => img src="assets/images/menu.jpg" alt="
[5] => img src="assets/images/sfaha.jpg" alt="
)

[1] => Array
(
[0] => preview38.jpg
[1] => preview43.jpg
[2] => preview53.jpg
[3] => menu(1).jpg
[4] => menu.jpg
[5] => sfaha.jpg
)

)
killer8080
в логике ошибка
$url = 'http://bayguzin.ru/main.html?start=';
$i = '0';
$urlik = 'http://bayguzin.ru/assets/images/';

while($i <= 2){
$content = file_get_contents($url . $i);
if($v = preg_match_all('<img src="assets/images/(.*)" alt="*">', $content, $match)){
$i += 1;
echo "<pre>";
print_r($match);
echo "</pre>";
}
else
{
break;
}
}

var_dump($v);
killer8080
и регулярку все равно исправь, в этот раз случайно прокатило, PCRE принял <> за разделители, а не часть шаблона.
Frost-56
Не пойму, почему в while $i <= 2 а не 258, ведь надо чтобы он оканчивал работу когда $i == 258 :rolleyes:


Работает уже лучше, но не полностью, вот все страницы которые выводит:

Array
(
[
0] => Array
(
[
0] => img src="assets/images/2013/09/table.jpg" alt="
[1] => img src="
assets/images/2013/09/st.jpg" alt="
[2] => img src="assets/images/2013/09/sl.jpg" alt="
[3] => img src="
assets/images/2013/08/8.jpg" alt="
[4] => img src="assets/images/2013/08/flex.jpg" alt="
[5] => img src="
assets/images/2013/08/art2.jpg" alt="
)

[
1] => Array
(
[
0] => 2013/09/table.jpg
[1] => 2013/09/st.jpg
[2] => 2013/09/sl.jpg
[3] => 2013/08/8.jpg
[4] => 2013/08/flex.jpg
[5] => 2013/08/art2.jpg
)

)

Array
(
[
0] => Array
(
[
0] => img src="assets/images/2013/09/st.jpg" alt="
[1] => img src="
assets/images/2013/09/sl.jpg" alt="
[2] => img src="assets/images/2013/08/8.jpg" alt="
[3] => img src="
assets/images/2013/08/flex.jpg" alt="
[4] => img src="assets/images/2013/08/art2.jpg" alt="
[5] => img src="
assets/images/2013/06/weddingimg.jpg" alt="
)

[
1] => Array
(
[
0] => 2013/09/st.jpg
[1] => 2013/09/sl.jpg
[2] => 2013/08/8.jpg
[3] => 2013/08/flex.jpg
[4] => 2013/08/art2.jpg
[5] => 2013/06/weddingimg.jpg
)

)

Array
(
[
0] => Array
(
[
0] => img src="assets/images/2013/09/sl.jpg" alt="
[1] => img src="
assets/images/2013/08/8.jpg" alt="
[2] => img src="assets/images/2013/08/flex.jpg" alt="
[3] => img src="
assets/images/2013/08/art2.jpg" alt="
[4] => img src="assets/images/2013/06/weddingimg.jpg" alt="
[5] => img src="
assets/images/2013/06/agro2.jpg" alt="
)

[
1] => Array
(
[
0] => 2013/09/sl.jpg
[1] => 2013/08/8.jpg
[2] => 2013/08/flex.jpg
[3] => 2013/08/art2.jpg
[4] => 2013/06/weddingimg.jpg
[5] => 2013/06/agro2.jpg
)

)

int(6)



А их там 45 страниц, а не несколько штук))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.