За последние 24 часа нас посетили 15266 программистов и 1671 робот. Сейчас ищут 835 программистов ...

Поиск соответствующего закрывающего тега

Тема в разделе "Регулярные выражения", создана пользователем TransFixRay, 13 ноя 2009.

  1. TransFixRay

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

    С нами с:
    13 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте.
    Подскажите пожалуйста, можно ли средствами регулярок найти соответствующий закрывающий тег для заданного?
    Т.е., например, мы имеем такой код:
    HTML:
    1. <div class="foo">
    2. <div class="x1">...</div>
    3. <div class="x2">...</div>
    4. <div class="x3">...</div>
    5. </div>  <!-- вот этот тег, например, нужно найти -->
    Пробовал делать регуляркой:

    PHP:
    1. preg_match_all('|<div class="foo">(.*?)</div>|s', $Content, $Matches);
    Но она сработатывает только до первого закрывающего дива.

    Не получается найти номер строки закрывающего тега.
    Можно ли найти закрывающий див для дива <div class="foo"> средствами регулярок ?

    Пробовал решить задачу с помощью DOM - не получилось.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Только регулярками - нет.
     
  3. TransFixRay

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

    С нами с:
    13 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Я сделал простым подсчетом открывающих и закрывающих тегов.
    Но проблема в том, что в некоторых случаях надо немного корректировать написанный код, чтобы работало корректно.
    Почему - не знаю. Хотя нет, знаю, руки кривые :)

    Не подскажете вектор решения моей задачи, хотя бы в общих чертах?
     
  4. TransFixRay

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

    С нами с:
    13 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Если у кого-то есть соображения по поводу вопроса - напишите пожалуйста.
    Мое решение "в лоб" работает, но его каждый раз надо корректировать.

    Может все-таки есть более элегантное решение, чем прямой поиск открывающих и закрывающих тегов?