Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2010, 22:17   #1
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию Парсинг тега div

Привет.
В переменной есть код, полученный c html страницы.
Надо получить все, что находится внутри <div class="post">...</div>, и вырезать.
Если таких <div class="post"> на странице несколько, то просто объединить все, что находится в них. При этом учесть, что там внутри могут быть тоже вложены div'ы
Как это проще сделать?
motorway вне форума Ответить с цитированием
Старый 05.03.2010, 23:11   #2
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

ну дык substr и strpos в помощь
A_r_r_a_y вне форума Ответить с цитированием
Старый 05.03.2010, 23:18   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Это я понимаю, что можно с помощью них сделать в принципе, но получается громоздко (пока весь алгоритм еще не придумал), а вот хотел поэлегантней и быстрей. Правда, раздумья тоже время занимают. Вот идея: надо проэксплодить по </div>'ам и рассмотреть полученные части. Если какое-то не содержит <div>, значит, это закрывающий тег. Все правильно?
Похоже, нет...

Последний раз редактировалось motorway; 05.03.2010 в 23:37.
motorway вне форума Ответить с цитированием
Старый 05.03.2010, 23:40   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Похоже, можно найти кол-во N входящих <div , а потом найти N+1 </div>
UPD: алгоритм, наверно, такой все-таки: надо проэксплодить по </div>'ам, и затем в цикле проходя по ним, прибавлять кол-во <div> и отнимать -1. Если будет 0 в рез-те, значит, конец работы. Переменную сначала установить в 1.

Последний раз редактировалось motorway; 06.03.2010 в 01:07.
motorway вне форума Ответить с цитированием
Старый 09.03.2010, 13:28   #5
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

всё что вам нужно здесь http://ru.php.net/manual/en/function.preg-match-all.php
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 10.03.2010, 02:22   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

mv28jam правильно написал. Ещё Вам поможет написание собственной функции парсинга (с использованием preg_match), которая будет вызывать себя рекурсивно при нахождении вложенного div'а. Таким образом можно распарсить всё что угодно.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
растянуть div в другом div-e slips HTML и CSS 2 27.11.2009 15:43
Автоматическая генерации тега <div id ekorsanov PHP 5 01.11.2009 09:43
Высота div-a в котором есть другой div Antoha HTML и CSS 2 07.08.2009 18:16
Позиционирование двух плавающих DIV внутри одного DIV allocator HTML и CSS 5 22.07.2009 13:48
Растягивающийся DIV и толкающий в низ следующий DIV Суриков HTML и CSS 6 29.08.2008 12:01