ФорумПрограммированиеPHP для идиотов → Помогите с составлением регулярки

Помогите с составлением регулярки

  • onzone

    Сообщения: 77 Репутация: N Группа: Кто попало

    Spritz 25 октября 2011 г. 23:09

    Здравствуйте, при переписке парсера к kinopoisk.ru возникла такая проблема хочу выдрать рейтинг кинопоиска вот с этого вот кода помогите плиз составить регулярку.

    <div class="div1"><meta itemprop="ratingValue" content="8.3">
    <a href="/level/83/film/497/" class="continue" style="background: url(http://st.kinopoisk.ru/images/dot_or.gif) 0 93% repeat-x; font-weight: normal !important; text-decoration: none">
    <!— Значения из этого спана надо выдрать —>
    <span>8.292</span>
    <span style="font:100 14px tahoma, verdana" itemprop="ratingCount">&nbsp;&nbsp;20&nbsp;382</span></a>
    </div>



    $pars_data = array('kp_rating' => '#<span>(.*?)</span>#si');
    foreach ($pars_data as $name => $value) {
    @preg_match($value, $pars_film, $matches);
    }

    Пробовал так, выддерает значения из первого дива попавшегося. Более логичного ничего так и не смог придумать пытался написать чтоб фильтровал первые пару чисел с этого дива безуспешно. Ребята, помогите оформить регулярку плиз=(
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 25 октября 2011 г. 23:17, спустя 8 минут 24 секунды

    регулярка, фу.
    делай через дом и икспас.
  • onzone

    Сообщения: 77 Репутация: N Группа: Кто попало

    Spritz 25 октября 2011 г. 23:20, спустя 2 минуты 53 секунды

    NRG, Просто в рамках задачи моей исправить обновление рейтинга =( а не написать заново парсер, потому танцую с бубном с регулярками =)
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 25 октября 2011 г. 23:24, спустя 4 минуты

    onzone, на балуйся http://pyha.ru/fishki/regexp/
    Спустя 15 сек.
    может это както ускорит твою работу
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 25 октября 2011 г. 23:30, спустя 5 минут 59 секунд

    #span.(\d+\.\d+)./#s
  • onzone

    Сообщения: 77 Репутация: N Группа: Кто попало

    Spritz 25 октября 2011 г. 23:34, спустя 3 минуты 34 секунды

    Проверял на http://pyha.ru/fishki/regexp/

    #span.(\d+\.\d+)./#s
    Совпадений не найдено

    #<span>(.*?)</span>#si

    Array
    (
    [0] => Array
    (
    [0] => <span>8.292</span>
    )

    [1] => Array
    (
    [0] => 8.292
    )

    )

    Но это не подходит, т.к там спанов такого типа ппц как много =(
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 26 октября 2011 г. 1:34, спустя 1 час 59 минут 55 секунд

    >Совпадений не найдено
    значит с кодировками беда, или еще с чем, попробуй флаг u, или другую функцию/библиотеку, в php регулярки это больная тема
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 26 октября 2011 г. 1:43, спустя 9 минут 36 секунд

    http://codepad.org/HfUhLYNF по ходу беда с php)
    странно - этот код работает http://codepad.org/Tj1jh5Vm
  • onzone

    Сообщения: 77 Репутация: N Группа: Кто попало

    Spritz 26 октября 2011 г. 1:45, спустя 1 минуту 23 секунды

    Ivan, Разобрался спасибо друг!! +1 тебе

Пожалуйста, авторизуйтесь, чтобы написать комментарий!