ADSL.Kirov.Ru

Сообщества => Веб-программирование => Тема начата: proto от 09 Декабрь 2010, 20:49:56



Название: цикл в php
Отправлено: proto от 09 Декабрь 2010, 20:49:56
вот пример
Код:
<?
set_time_limit(0);
$addr="http://yaca.yandex.ru/yca/";
$qq="Entertainment/Games/";
$on="b-result__head";  //ключ
$i=0;    //  начальная страница

do  // все страницы
{
$pos=0;
$string =  file_get_contents($addr."cat/".$qq.$i.".html"); // страница с адресами хттп
$r=strrpos($string, $on); // последний ключ на странице

echo("<br>...адреса на странице- ".$addr."cat/".$qq.$i.".html"."...<br>");

for($in=$in; $in < $r; $pos=$out){ // все адреса на странице
$in=strpos($string, $on, $pos);    // позиция ключа
$inn=strpos($string, '"', $in+15)+1; // начало адреса
$out=strpos($string, '"', $inn);  // конец адреса

$http=substr($string, $inn, $out-$inn);  // адрес
echo($http.'<br>');
}
}
while($i++ <= 10);  // вот эта хрень както непонятно работает
?>


я ужо голову поломал, непонятное чтото.
Я парсю с каталога яндекса адреса сайтов со страниц ....0.html  1.html  2.html  и тд
но мой код обрабатывает только две страницы и всё. хз какоето  ???
может яндекс блокирует или что. в денвере и на хосте одинаково.
Изменяю начальную страницу, меняется и количество обработанных страниц(могут быть не по порядку!)
Может какие особенности пхп? Помогите пожалста!


Название: Re: цикл в php
Отправлено: Blackman от 09 Декабрь 2010, 20:55:06
Как вообще может работать такая конструкция?
for($in=$in;
Да и вообще логичнее разобрать регуляркой и дальше через foreach пробегаться по массиву ее выхлопа.


Название: Re: цикл в php
Отправлено: proto от 09 Декабрь 2010, 21:28:40
вот я олень  ;D
думал типа выражение сократил... а эффект такой непредсказуемый получился


Powered by SMF | SMF © 2006-2020, Simple Machines LLC
© 2006-2020 Разработчики сайта Инициативная группа пользователей.
При технической поддержке ОАО “Ростелеком”.