На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Ругулярка, режет, два подрят стоящих закрывающих тега
      Здравствуйте!
      Есть HTML.

      ExpandedWrap disabled
        <html>
            <head>
            </head>
            <body id=test>
                <h1>Test h1</h1>
                <div>
                    ASter ASTERA ASTEWA ASTAS
                </div>
                <div id="heaader">
                    Testing header
                    <div class="subID">
                        test test test
                    </div>
                </div>
                    bla bla bla bla bla 54353453453453
         
            </body>
        </html>


      Регулярка. Вырежет сразу два закрывающих тега.
      ExpandedWrap disabled
        static $pattern = '|<(.*)(\s.*)*>(.*|.*<\/(.*)>)</\\1>|Ums';


      Вопрос: как переписать регулярку? Чтобы получить нормальное дерево.

      При рекурсивном перебирании ХТМЛ, регулярка дает такой результат.
      Прикреплённый файлПрикреплённый файлKRUMO.JPG (32,04 Кбайт, скачиваний: 527)
      Сообщение отредактировано: aster_x -
        Может я не так выразился?


        ExpandedWrap disabled
             <div>
               <div>
                  <div>
                      sasdasdsa
                  </div>
                  sdasdas23312asdasdsa
              </div>
            sdasdas23312asdasdsa
          </div>


        Как взять строку между первым и последним дивом?
          Где постановка задачи?

          Если ты хочешь синтаксический анализ HTML с помощью регулярного выражения, то лучше сразу забудь об этом. Регулярки не всесильны. С их помощью можно выделить из HTML теги и обычный текст и разобрать атрибуты тега. Но для построения синтаксического дерева требуется уже более мощный механизм - стековый автомат.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0179 ]   [ 16 queries used ]   [ Generated: 28.04.24, 11:38 GMT ]