Показать сообщение отдельно

  #11  
Старый 25.10.2009, 16:51
Patronik
Познающий
Регистрация: 16.03.2009
Сообщений: 82
С нами: 9029260

Репутация: 23
По умолчанию

Цитата:
Сообщение от Komyak  
Помогите разобраться с кодом:
PHP код:
<?php
$handler
=fopen('log.txt','a+');
$zapros 'inurl:"/?p=1" inurl:"ru"';
$request 'http://www.google.com/ie?q='.urlencode(trim($zapros)).'&num=100&hl=ru&lr=&start=1&sa=N';
$result file_get_contents($request);
$regulyar='/((?:http:\/\/)[\-\,\.\,A-Za-z1-9]*(.?)[a-z]*[\=\,\?\,\/a-z1-9]*).*?/isU';
  if (
preg_match_all ($regulyar$result$matches))
  {
 for (
$i=0$i<count($matches[0]); $i++) 
 {
      
$httpurl1=$matches[1][$i];
$serp[] = $httpurl1;
  }}
$log implode('\n',$serp);
fwrite($handler,$log);
fclose($handler);
echo 
'Данные были сохранены в log.txt';
?>
Понимаю, выглядит дико и ужасно, но один из первых опытов.
Получается две проблемы:
1.Результат записывается в одну строчку, на нуледе читал что нужно использовать U, но не помогает.
И вторая проблема, не могу никак справиться с изменением "start=$nomer" номера страницы при парсинге.
Помогите пожалуйста.
Здесь в теме похожий скрипт, но не могу никак приладить функцию.
$httpurl1=$matches[1][$i];
Ошыбка в етой строке, тут переменная $httpurl1 постоянно перезаписиваеться. Надо сделать ее масивом типа так $httpurl1[], а если хочеш оставить ее строкой то надо использовать конкатенацию строк
$httpurl1 .= $matches[1][$i]; // точку добавить перед присвоением значения.

Че то я загнался, не посмотрел что ты в следуещей строке записиваеш в масив $serp[].
Короче не знаю...

Последний раз редактировалось Patronik; 25.10.2009 в 16:59..
 
Ответить с цитированием