updated@19:40msk 10Jul2008
source:code.txt
<?

echo '<form method=post><input size="30" type="text" name="site" value=""> <input type="submit" value="OK :)">  </form>';

function 
rhost($rhost){ // функция "переворачивания" домена
$out='';
$part='';
while(
strpos($rhost,'.')!==false){
 
$part=substr($rhost,0,strpos($rhost,'.'));  // берем часть
 
$rhost=substr($rhost,1+strpos($rhost,'.')); // удаляем их исходного
 
$out='.'.$part.$out;                        // приделываем кго и точку к резутьтату
}
$out=$rhost.$out;                            // в конце от исходного остается только домен верхнего уровнея , примепляем и его
  
return $out;
}

function 
pget($url){  // функция получения определенной стрницы
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_HEADER0);   // нем не нужен заголовок
//curl_setopt($ch, CURLOPT_REFERER, '');
curl_setopt($chCURLOPT_USERAGENT"User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"); // мы - обычный юзер
curl_setopt($chCURLOPT_COOKIE,"YX_SEARCHPREFS=favicons:1,lang:all,ton:1,banners:,search_form:topbot,numdoc:50,target:_blank,desc:sometimes,lr:,wstat:,t:2,family:; path=/; expires=Friday, 31-Dec-10 23:59:59 GMT; domain=.yandex.ru;") ;
// ставим куки, чтобы смотреть по 50 страниц. Это экономитнесколько секунд времени и каплю денег.
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);  // Уважаемый(ая?) курл, заверните нам в переменную!
$ret=curl_exec($ch); // взяли  нашу страницу.
curl_close($ch);
return 
$ret;         // и вернули
}

function 
sget($site){ //функция получает спиок страниц
$flag=true;   //флажок :)
$page=0;    // номер страницы
$counter=0// индекс массива

 
while($flag===true){
 
$out='';
  
$res=pget('http://yandex.ru/yandsearch?p='.$page.'&pag=u&site='.$site.'&lang=ru&rd=0&text=rhost%3D%22'.rhost($site).'%22|rhost%3D%22'.rhost($site).'.*%22');
  
preg_match_all('!<span style="color:#060;">(.*?)&nbsp;&middot;&nbsp;!si',$res,$urls); // забрали страницу и нашли О_О

  
foreach ($urls[1] as $i) {
     
$result[$counter]=str_replace("\n","",$i);     //поместили все рещзультаты в общий массив
   
$counter++;
    }
  
$page++;
  if (
strpos($res,'/yandsearch?p='.$page.'&pag=u')===false) {$flag=false;} // это определяет, есть ли следующая страница выдачи.

  
}

return 
$result;
}

if (isset(
$_POST['site'])){
 
$site=$_POST['site'];

$pages=sget($site);
sort($pages);
reset($pages);
echo 
"<pre>";
foreach (
$pages as $i) { echo $i."\n";}
echo 
"</pre>";

}
  echo 
$page;
?>
1