Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 658
от 11.05.2007, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 433, Экспертов: 58
В номере:Вопросов: 1, Ответов: 1


Вопрос № 85738: Здравствуйте, уважаемые эксперты! Можно ли подсказать решение(если оно конечно есть) для такой задачи. Имеется текстовый файл, состоящий из нескольких заголовков, и текста между ними. Я составил два шаблона регулярных выражений: один выб...

Вопрос № 85.738
Здравствуйте, уважаемые эксперты!

Можно ли подсказать решение(если оно конечно есть) для такой задачи.
Имеется текстовый файл, состоящий из нескольких заголовков, и текста между ними. Я составил два шаблона регулярных выражений: один выбирает заголовки, второй выбирает тексты.
Вопрос такой: как можно средствами php, вывести содержимое файла в соответствии с первоначальной последовательностью:
Заголовок
Текст...
Заголовок
Текст...и т.д.
С заголовками более менее понятно, они после прохода по файлу шаблоном регулярного выражения, представляют из себя простой массив типа: array("Заголовок1","Заголовок2",...); Сложнее с массивом текста, он примерно такой array(array("Строка1","Строка2",..),array("Строка1","Строка2",..));

Заранее благодарю за подсказку.
Отправлен: 06.05.2007, 18:21
Вопрос задал: Yugin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: HookEst
Здравствуйте, Yugin!
Начиная с PHP 4.3.0 в preg_match_all доступен флаг PREG_OFFSET_CAPTURE, он позволяет получать смещение найденой подстроки от начала текста(структура $matches становится немного другая). И если сравнивать смещения заголовков и строк, мы можем определить когда необходимо выводить следующий заголовок.
см пример, немного не ловкий, но работает.

Успехов.

Приложение:

Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 09.05.2007, 09:14
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо. Все работает как надо.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100

В избранное