Помогите поправить чекер бинга

Тема в разделе "PHP", создана пользователем noosfera, 5 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. noosfera

    noosfera Постоялец

    Регистр.:
    2 ноя 2008
    Сообщения:
    109
    Симпатии:
    91
    Один хороший человек прикрутил к idor чекер бинга на кол-во исходящих с домена по запросу linkfromdomain, например http://www.bing.com/search?q=linkfromdomain:nulled.ws - исходящих 2 390, сейчас он куда то пропал, а на бинге похоже что то в коде изхменили и чекер не работает...
    думаю что этот кусок нужный
    PHP:
    function bing_outs($url){
        static 
    $seen=array();
        if (isset(
    $seen[$url])){
            return 
    $seen[$url];
        }
        
    $bingurl =  "http://www.bing.com/search?q=linkfromdomain%3A$url";
        
    $bingserp curlGet($bingurl);
        if (!
    $bingserp){
            return 
    'failed';
        }
        
    $bingserp=mb_convert_encoding($bingserp,'cp1251','UTF-8');
        
    //file_put_contents('test.txt', $bingserp);
        //парсим
        
    if (! preg_match('/id="count">[^\d]* \d*.\d* [^\d]* ([\d\s]*)<\/span>/i',$bingserp$match)){
            return 
    'failed to match';
        }
        
    $outs = (int) preg_replace('/\s+/i',''$match[1]);
        return 
    $seen[$url] = $outs;
    }

    если кому не трудно, скажите что поменять нужно )) сейчас на все запросы идет ответ - failed to match
     
  2. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36


    попробуй так:

    PHP:
    function bing_outs($url){
        static 
    $seen=array();
        if (isset(
    $seen[$url])){
            return 
    $seen[$url];
        }
        
    $bingurl =  "http://www.bing.com/search?q=linkfromdomain%3A$url";
        
    $bingserp curlGet($bingurl);
        if (!
    $bingserp){
            return 
    'failed';
        }
        
    $bingserp=iconv('utf-8','cp1251',$bingserp);

        if (! 
    preg_match('~id="count">.*?\s([^\s]+)</span>~',$bingserp$match)){
            return 
    'failed to match';
        }
        
    $outs = (int) preg_replace('/\s+/i',''html_entity_decode($match[1]));
        return 
    $seen[$url] = $outs;
    }
     
    noosfera нравится это.
Статус темы:
Закрыта.