Кинотавр
Новичок
Регулярное выражение - разбивка статьи на подразделы по <H2>...</H2>
Есть следующая задача. Имеется статья с подразделами и подзаголовками, оформленными тегами <H2>...</H2>.
В базе данных статья хранится в виде единого текста. А выводиться она должна в виде нескольких страниц, каждый подзаголовок с соответствующим текстом подраздела - на отдельной странице. Рядом со статьей, в боковой колонке, навигация по этой статье.
То есть, требуется пропарсить статью, найти в ней подзаголовки и следующие за ними тексты. Сделать это надо на основе регулярного выражения.
Прошу помочь с его составлением.
У меня нормально получилось сделать регулярное выражение для вытаскивания содержимого подзаголовков и генерации на основе них менюшки с навигацией по статье.
Но вот с вытаскиванием заголовка подраздела вместе с текстом подраздела возникла проблема. Вроде по логике надо вытаскивать содержимое между тегами </H2>...<H2>. То есть, между предыдущим закрывающим тегом заголовка и следующим открывающим.
А потом полученное содержимое приклеивать к заголовку. Но тут возникает проблема, что при этом теряется содержимое последнего подраздела, ведь после него нет следующего открывающего <H2>.
Прошу помочь тех, кто хорошо разбирается в регулярных выражениях. Чувуствую, что ничего сложного здесь нет, но для меня тема регулярных выражений - кромешная тьма. А может быть вы поможете составить единое регулярное выражение, без склеиваний заголовка с содержимым подраздела? То есть, чтобы одним регулярным выражением вытаскивалось сразу содержимое от предыдущего <H2> до следующего <H2>, причем чтобы предыдущий присутствовал в результате запроса, а следующий не присутствовал, и чтобы еще последний подраздел тоже попадал в выборку.
Прошу помочь.
Спасибо.
Есть следующая задача. Имеется статья с подразделами и подзаголовками, оформленными тегами <H2>...</H2>.
В базе данных статья хранится в виде единого текста. А выводиться она должна в виде нескольких страниц, каждый подзаголовок с соответствующим текстом подраздела - на отдельной странице. Рядом со статьей, в боковой колонке, навигация по этой статье.
То есть, требуется пропарсить статью, найти в ней подзаголовки и следующие за ними тексты. Сделать это надо на основе регулярного выражения.
Прошу помочь с его составлением.
У меня нормально получилось сделать регулярное выражение для вытаскивания содержимого подзаголовков и генерации на основе них менюшки с навигацией по статье.
PHP:
preg_match_all("!<H2>(.*?)</H2>!si",$row[text],$array);
PHP:
preg_match_all("!</H2>(.*?)<H2>!si",$row[text],$array);
Прошу помочь тех, кто хорошо разбирается в регулярных выражениях. Чувуствую, что ничего сложного здесь нет, но для меня тема регулярных выражений - кромешная тьма. А может быть вы поможете составить единое регулярное выражение, без склеиваний заголовка с содержимым подраздела? То есть, чтобы одним регулярным выражением вытаскивалось сразу содержимое от предыдущего <H2> до следующего <H2>, причем чтобы предыдущий присутствовал в результате запроса, а следующий не присутствовал, и чтобы еще последний подраздел тоже попадал в выборку.
Прошу помочь.
Спасибо.
Так что, воистину ду хаст мих гефрахт унд их хаб нихтс гезахтс.