Помогите составить регулярное выражение

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

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

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    Уже битый час пытаюсь составить РВ для парсинга сайта! Для меня это очень тяжело! Пока ещё не совсем понимаю принципы=(
    Вот часть кода:
    HTML:
                        <tr style='display:'>
                            <th colspan="2">Описание вакансии</th>
                        </tr>
                        <tr style='display:'>
                            <td class="first_col">&nbsp;</td>
                            <td style="padding-top:5px">Обязанности:<br /><br />    * Верстка и программирование web проектов.<br /><br />Требования:<br /><br />    * Знание HTML, JavaSсript, Ajax, PHP, MySQL.<br />    * Знание архитектур web 2.0.<br /><br />Условия:<br /><br />    * Оформление по ТК.<br />    * Работа в офисе с 9:30 до 19:00.</td>
                        </tr>
    
    Буду очень благодарен!!!

    Ух забыл написать что парсить=)
    Собственно вот что должно быть: Обязанности:<br /><br /> * Верстка и программирование web проектов.<br /><br />Требования:<br /><br /> * Знание HTML, JavaSсript, Ajax, PHP, MySQL.<br /> * Знание архитектур web 2.0.<br /><br />Условия:<br /><br /> * Оформление по ТК.<br /> * Работа в офисе с 9:30 до 19:00.

    да и наверно стоит написать сам сайт, чтобы не было вопросов:
    Перейти по ссылке
     
  2. Sanja_

    Sanja_ Создатель

    Регистр.:
    9 окт 2009
    Сообщения:
    27
    Симпатии:
    8
    так а парсить что надо? =)
    PHP:
    <?
    $url "http://kazan.job.ru/internet/1685151";
    $content =iconv("utf-8","windows-1251//IGNORE",file_get_contents($url));
    preg_match_all("#<td style=\"padding\-top\:5px\">(.+?)</td>#is",$content,$log);
    $log=str_replace("<br /><br />","<br><br>",$log[1][0])."<br><br>";
    preg_match_all("#(.*?)<br><br>(.*?)<br><br>#is",$log,$log2);
    for(
    $i=0;$i<count($log2[1]); $i++)
    echo 
    strip_tags($log2[1][$i]).":".strip_tags($log2[2][$i])."<br>";

    ?>
    вот к вашему куску кода регулярка далее подобно делаете

    когда я задал вопрос не чего кроме кода не было , вот и спросил;)
     
    vanderv нравится это.
  3. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Саня, ну что не понятно? Человек же написал,
    :)
    А на самом деле спарсить ему нужно все что после звездочки и до следующего любого тега.
    Не проверял, но сам делал бы как-то так:
    PHP:
    "#Обязанности:<br /><br />(.*?)<br /><br />Требования:<br /><br />(.*?)<br /><br />Условия:<br /><br />(.*?)#"
    Почему не проверил перед тем как запостить? Да просто лень. Вам лень читать ман, мне лень тестировать очередной тривиальный пример.
     
  4. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
  5. Sanja_

    Sanja_ Создатель

    Регистр.:
    9 окт 2009
    Сообщения:
    27
    Симпатии:
    8
    я код выше запостил!
     
  6. SDV

    SDV Создатель

    Регистр.:
    24 окт 2008
    Сообщения:
    38
    Симпатии:
    7
    Скачайте Regex Buddy и упражняйтесь в волю.
     
Статус темы:
Закрыта.