скрипт на подобии statli

[Удален]
666

Сегодня наткнулся на сайт statli.ru идея мне понравилась. В качестве небольшой разминки написал на коленке что-то похожее

Юзаем :)

<form action="statli.php" method="post"> <textarea name="text" cols="60" rows="10"> <?=@htmlspecialchars($_REQUEST['text'])?> </textarea><br> <input type="submit"> </form>


<?php
header('Content-Type: text/html; charset=cp1251');
error_reporting(0);
preg_match_all("#(.*?)[.][A-zА-я]{2,}#i",trim(htmlspecialchars($_REQUEST['text'])),$arr_url);
if(count($arr_url['0']) == 0) {echo 'Нет сайтов для обработки :('; exit();}

for($i=0;$i<= count($arr_url[0]);$i++){
if(!empty($arr_url[0][$i])){
$url = $arr_url[0][$i];$url=str_replace('http://','',$url);
$content = file_get_contents('http://counter.yadro.ru/values?site='.strtolower($url));
preg_match('#LI_online_vis = ([0-9]{1,})#',$content,$stat_1);
preg_match('#LI_today_vis = ([0-9]{1,})#',$content,$stat_2);
preg_match('#LI_day_vis = ([0-9]{1,})#',$content,$stat_3);
preg_match('#LI_week_vis = ([0-9]{1,})#',$content,$stat_4);
preg_match('#LI_month_vis = ([0-9]{1,})#',$content,$stat_5);

if(empty($stat_1['1']) && empty($stat_2['1']) && empty($stat_3['1']) && empty($stat_4['1']) && empty($stat_5['1'])){$stat_1['1'] = 0;$stat_2['1'] = 0;$stat_3['1'] = 0;$stat_4['1'] = 0;$stat_5['1'] = 0;}

echo "<br /><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"left\">
<tr>
<td style=\"width: 180px; text-align: left\">Сайт</td>
<td style=\"width: 70px;\">Online</td>
<td style=\"width: 70px;\">Сегодня</td>
<td style=\"width: 70px;\">24 часа</td>
<td style=\"width: 70px;\">Неделя</td>
<td style=\"width: 70px;\">Месяц</td>
</tr>
</thead>
<tbody>
<td>".strtolower($url)."</td>
<td>$stat_1[1]</td>
<td>$stat_2[1]</td>
<td>$stat_3[1]</td>
<td>$stat_4[1]</td>
<td>$stat_5[1]</td>
</tr>
</table><br />
";

$tot1 += $stat_1[1];
$tot2 += $stat_2[1];
$tot3 += $stat_3[1];
$tot4 += $stat_4[1];
$tot5 += $stat_5[1];
}
}
echo "<br /><br /><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" summary=\"\" align=\"lef\" style=\"margin-top: 2px;\">
<tr>
<td style=\"width: 180px;\">Всего</td>
<td style=\"width: 70px;\">$tot1</td>
<td style=\"width: 70px;\">$tot2</td>
<td style=\"width: 70px;\">$tot3</td>
<td style=\"width: 70px;\">$tot4</td>
<td style=\"width: 70px;\">$tot5</td>
</tr>
</table>";
?>

копипастим и сохраняем в файл statli.php

сайты списком без www.

будет обрабатываться - htt[p]://google.ru/ htt[p]://google.ru google.ru/ google.ru

обрабатываться не будет - htt[p]://www.google.ru/

также не обрабатывает домены 3-го уровня.

rambler добавил 14.05.2011 в 06:24

Исправил регулярку, теперь обрабатывает и поддомены и с www. Только по специвикации с www и без www это два разных сайта. Меня это удивило...

Заменить 6-у строку на эту.

preg_match_all("#(.*?)\\.(.*?)\\.[A-zА-я]{2,}|(.*?)\\.[A-zА-я]{2,}#i",trim(htmlspecialchars($_REQUEST['text'])),$arr_url);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий