За последние 24 часа нас посетили 16986 программистов и 1694 робота. Сейчас ищут 1007 программистов ...

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

Тема в разделе "PHP для новичков", создана пользователем shifaka, 5 окт 2011.

  1. shifaka

    shifaka Активный пользователь

    С нами с:
    6 июл 2011
    Сообщения:
    5
    Симпатии:
    0
    Требуется проставить пропущенные закрывающие теги.
    То есть убедиться что у каждого открывающего
    HTML:
    1. <table class='final'>
    есть закрывающий
    HTML:
    , если нет - проставить его.
    Как это сделать с помощью регулярок?
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    никак. анализировать дом структуру вручную
     
  3. shifaka

    shifaka Активный пользователь

    С нами с:
    6 июл 2011
    Сообщения:
    5
    Симпатии:
    0
    А если надо обработать 1000 страниц?)

    Уверен решение есть - так как логика это позволяет:

    Если идёт два подряд открывающих тега <table class='final'> - первому в пару ставим </table>
    И отдельная проверка для последнего тега <table class='final'> - если нет закрывающего - ставим</table>

    Ладно, будем думать сами.
     
  4. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    а вот куда именно ставить закрывающий тейбл? может быть таблица в таблице или две разные таблицы. так что выбор неоднозначен.
     
  5. shifaka

    shifaka Активный пользователь

    С нами с:
    6 июл 2011
    Сообщения:
    5
    Симпатии:
    0
    куда именно?)) я думаю после последнего </td></tr>. Если после </td></tr> идёт <table class='final'> то это последние </td></tr>.
    я не случайно прописал класс таблице! Вы часто вкладываете таблицу друг в друга с одинаковыми классами??)))
    Речь идёт о сравнении таблиц только одного класса, и известно, что в них не может быть вложено других таблиц - они являются таблицами наинизшего уровня. так что всё однозначно!