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

регулярное выражение

  • PHPLion

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

    Spritz 19 июля 2008 г. 6:52

    Есть html:

    <table id="JJ">
    <tr>
    <td></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>

    Возможно ли сделать регулярное выражение которое будет вытигать все <td/>?
    Т.е. чтобы preg_match_all создал массив в котором и будут все <td/>.

    У меня есть идея, но она использует несколько регулярок.
  • welder

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

    Spritz 19 июля 2008 г. 6:58, спустя 5 минут 48 секунд

    можно
  • PHPLion

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

    Spritz 19 июля 2008 г. 7:04, спустя 5 минут 48 секунд

    а до нашей свадьбы ровно 7 дней. Помоги. А?
  • md5

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

    Spritz 19 июля 2008 г. 7:09, спустя 4 минуты 42 секунды

    а что нужно?
    вытаскивать все, что в <td>тут?</td>
    или че?
    все умрут, а я изумруд
  • welder

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

    Spritz 19 июля 2008 г. 7:11, спустя 2 минуты 44 секунды

    http://pyha.ru/forum/topic/19.0

    int preg_match_all (string pattern, string subject, array matches [, int flags])

    Ищет в subject все совпадения с регулярным выражением pattern и помещает их в matches в порядке, специфицированном в order.

    После нахождения первого совпадения последующий поиск продолжается до нахождения последнего совпадения.

    пример:
    Просто код:
    <?php
    $text = "<b>Вася</b> любит <b>пиво</b> больше чем <b>Иван</b>";
    preg_match_all ("#<b>(.*)</b>#iU", $text, $regs);
    echo "<pre>";
    print_r($regs[1]);
    ?>



    Этот пример даст:
    Array
    (
    [О] => Вася
    [1] => пиво
    [2] => Иван
    )
  • PHPLion

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

    Spritz 19 июля 2008 г. 7:12, спустя 1 минуту 2 секунды

    да массив из содержимого <td></td>
  • PHPLion

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

    Spritz 19 июля 2008 г. 7:18, спустя 5 минут 48 секунд

    preg_match_all('%<table id="JJ"><tr><td>.*?</td></tr></table>%s', $subject, $result, PREG_PATTERN_ORDER);

    не работает и ему по-ходу мешает <table>.
    После <table> и перед может быть что угодно.
  • md5

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

    Spritz 19 июля 2008 г. 7:22, спустя 3 минуты 58 секунд

    PHPLion, накой хер тебе <table> вобще?

    #<td>(.*?)<\/td>#is
    все умрут, а я изумруд
  • PHPLion

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

    Spritz 19 июля 2008 г. 7:23, спустя 1 минуту 23 секунды

    неа, <table> нужен. Мне нужны <td></td> только с него
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 19 июля 2008 г. 7:35, спустя 11 минут 57 секунд

    а разве бывают td без table?
  • welder

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

    Spritz 19 июля 2008 г. 7:56, спустя 20 минут 10 секунд

    дак а нахера он нужен для регулярки ??

    имешает ему не табле а перносы строк
  • welder

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

    Spritz 19 июля 2008 г. 7:57, спустя 1 минуту 17 секунд

    а туплю

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