Здравствуйте.
У кого нибудь есть функция проверки тИЦ ? а то в гугле уже 2 функции поставил, обе не работают.. пишут тиц 0.
Заранее спасибо.
Вот первая попавшаяся
[php:1:3c9d931943] function getCI($url)
{
$url = str_replace("http://", "", $url);
$url = str_replace("www.", "", $url);
$url = str_replace("wap.", "", $url);
$ci_url = "http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://www.".$url."/";
$ci_data = implode("", file("$ci_url"));
preg_match("/value=\"(.\d*)\"/", $ci_data, $ci);
if ($ci[1] == "")
return 0; // Если не смогли определить ТИЦ...
else
return $ci[1]; // Вот оно счастье...
}[/php:1:3c9d931943]
Рабочая, но я у себя по другому делал
добавлено спустя 1 минуту:
Вот ещё одна
[php:1:3c9d931943]function getCY($url) /* Определяем тИЦ текстом */
{
$ch = curl_init(); // инициализация
curl_setopt($ch, CURLOPT_URL, 'http://bar-navig.yandex.ru/u?ver=2&url='.urlencode("http://".$url).'&show=1'); // устанавливаем URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // разрешаем редирект
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // указывает, что функция curl_exec должна вернуть полученный ответ, а не отправить его сразу браузеру
$file = curl_exec($ch); // запуск
curl_close($ch);
if(!empty($file))
{
preg_match("/<tcy rang=\"(.*)\" value=\"(.*)\"\/>/isU",$file,$cy);
return (int)$cy[2];
}
else return 0;
}[/php:1:3c9d931943]
Вот еще вариант, парсит тИЦ и rang. CURL или еще чего сам подключишь.
[php:1:90f2bad6ac]function cy($result){
if(!isset($result{0})) return 0; return preg_match('#<tcy rang="(.*)" value="(.*)"/>#',$result,$cy) ? array((int)$cy[2],(int)$cy[1]) : array(0,0);
}[/php:1:90f2bad6ac]
добавлено спустя 2 минуты:
ТЫЦ - глянь тему, первым постом мой скрипт проверки тИЦ, PR, Alexa rank
FiXleR, [php:1:1a305ccc31]// ------------------ Функция проверки Google PR --------------------//
function StrToNum($Str, $Check, $Magic)
{
$Int32Unit = 4294967296;
$length = strlen($Str);
for ($i = 0; $i < $length; $i++) {
$Check *= $Magic;
if ($Check >= $Int32Unit) {
$Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
$Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
}
$Check += ord($Str{$i});
}
return $Check;
}
function HashURL($String)
{
$Check1 = StrToNum($String, 0x1505, 0x21);
$Check2 = StrToNum($String, 0, 0x1003F);
$Check1 >>= 2;
$Check1 = (($Check1 >> 4) &0x3FFFFC0) | ($Check1 &0x3F);
$Check1 = (($Check1 >> 4) &0x3FFC00) | ($Check1 &0x3FF);
$Check1 = (($Check1 >> 4) &0x3C000) | ($Check1 &0x3FFF);
$T1 = (((($Check1 &0x3C0) << 4) | ($Check1 &0x3C)) << 2) | ($Check2 &0xF0F);
$T2 = (((($Check1 &0xFFFFC000) << 4) | ($Check1 &0x3C00)) << 0xA) | ($Check2 &0xF0F0000);
return ($T1 | $T2);
}
function CheckHash($Hashnum)
{
$CheckByte = 0;
$Flag = 0;
$HashStr = sprintf('%u', $Hashnum);
$length = strlen($HashStr);
for ($i = $length - 1; $i >= 0; $i --) {
$Re = $HashStr{$i};
if (1 === ($Flag % 2)) {
$Re += $Re;
$Re = (int)($Re / 10) + ($Re % 10);
}
$CheckByte += $Re;
$Flag ++;
}
$CheckByte %= 10;
if (0 !== $CheckByte) {
$CheckByte = 10 - $CheckByte;
if (1 === ($Flag % 2)) {
if (1 === ($CheckByte % 2)) {
$CheckByte += 9;
}
$CheckByte >>= 1;
}
}
return '7' . $CheckByte . $HashStr;
}
function getch($url)
{
return CheckHash(HashURL($url));
}
function GooglePR($url)
{
$googlehost = 'toolbarqueries.google.com';
$ch = getch($url);
if ($ch) {
$googleurl = 'http://' . $googlehost . '/tbr?features=Rank&sourceid=navclient-ff&client=navclient-auto-ff&ch=' . $ch . '&q=info:' . $url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $googleurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
curl_close($ch);
if (!substr_count($data, "Rank_"))
return ('n/a');
else {
$pos = strpos($data, "Rank_");
$pr = substr($data, $pos + 9);
$pr = trim($pr);
$pr = str_replace("\n", '', $pr);
return $pr;
}
}
} [/php:1:1a305ccc31]
добавлено спустя 46 секунд:
Только ключи от квартиры, где деньги лежат не проси 
Анархист, дружище ну ка скопипасти что-то полегче. Я других нигде не встречал
04 Янв 2013, 10:08