Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите подправить рег.выр - оно работает, правда с кодировкой беда :(
 
 автор: Panker   (28.03.2009 в 10:50)   письмо автору
 
 

Собственно оно
    
//Rambler Index
    function rambler_index($url){
        $file=file_get_contents("http://search.rambler.ru/srch?sort=0&filter=$url&short=2&limit=1");

            if(preg_match('!<span class="info">(.*?)</span>!si',$file,$ok)){
                $link=$ok[1];
            } else {                $link=0;
            }
            return trim($link);
    }

парсит кол-во проиндексированных в Рамблере, но проблема - у меня парсяться каракули место русских букв Результаты 1–4 РёР· 8

А парсю каракули потому что не наю как спарсить результат обойдя эти слова, в общем там такой кусок кода
<span class="info">Результаты <b>1–15</b> из <b>118</b></span>
мне же нужно спарсить только вот это число ( 118 ) - подскажите как рег.выр такое сделать? Или хотя бы подскажите как кодировку поменять при парсинге или перекодировать уже то что спарсел :( Хотя лучше парсить просто число страниц без лишнего

  Ответить  
 
 автор: cheops   (28.03.2009 в 12:56)   письмо автору
 
   для: Panker   (28.03.2009 в 10:50)
 

У вас скрипт в какой кодировке записан?

  Ответить  
 
 автор: Panker   (28.03.2009 в 14:17)   письмо автору
 
   для: cheops   (28.03.2009 в 12:56)
 

в обще win 1251 но для рамблера проблему решил, теперь для яндекса не могу решит
из title
<title>
&nbsp;-
Яндекс:
нашлось 17 страниц
</title>

нужно только 17 вытащить, а как указать обход слов а не тегов в рег выр не наю...

сейчас так
        $file=file_get_contents("http://www.yandex.ru/yandsearch?ras=1&spcctx=notfar&zone=all&wordforms=all&lang=all&within=0l&Link=&rstr=&site=$url&numdoc=1&ds=");
        $file=iconv("UTF-8", "CP1251", $file); 

        if(preg_match("!<title>(.*?)</title>!si",$file,$ok)){
            $str=$ok[1];
        } else {
            $str=0;
        }

  Ответить  
 
 автор: AcidTrash   (28.03.2009 в 22:36)   письмо автору
 
   для: Panker   (28.03.2009 в 14:17)
 

if(preg_match("!<title>.*?(\d+).*?</title>!si",$file,$ok))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования