| Есть куски кода, из них нужно сделать цикл. Первый кусок сдирает со страницы все ссылки в массив, второй умеет обрабатывать эти ссылки. Помогите составить правильный цикл.
Первый кусок:
<?
// Соединяемся, получаем страницу
$host = "www.somehost.ru";
$path = "/dealers/";
$path_menu="?cat_id=1";
$cookie= "Cookie: PHPSESSID=fd11a45401340454543a3fda6a \r\n";
$fp = fsockopen($host,80,$errno,$errstr,30);
if(!$fp) echo"$errstr ($errno)<br />\n";
else{
$headers = "GET $path.$path_menu HTTP/1.0\r\n";
$headers .= "Host: $host\r\n";
$headers .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$headers .= "Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n";
$headers .= "Accept-Encoding: deflate\r\n";
$headers .= "Accept-Language: ru,en;q=0.9\r\n";
$headers .= "User-Agent: Opera/8.01 (Windows NT 5.1; U; ru)\r\n";
$headers .= "$cookie";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp,$headers);
$head = "";
while($text != "\r\n"){
$text = fgets($fp,128);
$head .= $text;
}
$text = "";
while(!feof($fp)) $text .= fgets($fp,4096);
fclose($fp);
}
// Блок создания ссылок, по которым в дальнейшем идем циклом
if($count=preg_match_all("/href=\'(.+?)\'\sclass=\'shop\'>(.+?)</",$text,$match))
for($i=0;$i<$count;$i++)
// Начался цикл
{
|
Второй кусочек обрабатывает все это при помощи рег. выражений:
$fp = fsockopen($host,80,$errno,$errstr,30);
if(!$fp) echo"$errstr ($errno)<br />\n";
else{
$headers = "GET $path.$match[1][$i] HTTP/1.0\r\n";
$headers .= "Host: $host\r\n";
$headers .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$headers .= "Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n";
$headers .= "Accept-Encoding: deflate\r\n";
$headers .= "Accept-Language: ru,en;q=0.9\r\n";
$headers .= "User-Agent: Opera/8.01 (Windows NT 5.1; U; ru)\r\n";
$headers .= "$cookie";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp,$headers);
$head = "";
while($text != "\r\n"){
$text = fgets($fp,128);
$head .= $text;
}
$text = "";
while(!feof($fp)) $text .= fgets($fp,4096);
fclose($fp);
}
$text=$s;
$s = preg_replace("/\n/","",$s);
if($count=preg_match_all("/shop_name.+?\".+?\".+?>(.+?)<\/a><\/td>.+?right\'>(.+?)<.+?\[(\d+).+?right\'>(\d+).+?right\'>(\d+).+?right\'>(\d+)/",$s,$cat,PREG_SET_ORDER))
|
Как сделать из них цикличную программу, которая бы результаты записывала в файл, например?!? | |