Добрый день, друзья!
Подскажите, есть в данном комьюнити специалисты по регулярным
выражениям?.. Может кто-нибудь помочь консультативной или практической
помощью?..
В качестве благодарности буду рад отключить Вам рекламу Subscribe.ru
сроком на год :) Стоимость услуги у самого Subscribe.ru = 300 p.
Итак, нужно силами регулярных выражений в PHP (а насколько я знаю,
PHP поддерживает и синтаксис регулярных выражений Perl'a) реализовать
следующее:
есть некий текст, состоящий из 3-х частей:
шапки, тела, подписи (или, как говорят, хедера, боди и футера).
Необходимо из текста убрать хедер и футер (я предполагаю делать
это с помощью функции eregi_replace(); или иной (может подскажете).
что известно, известно о части текста под названием "шапка"
(хедер):
во-первых, текст начинается именно с нее,
во-вторых, она занимает несколько строк, причем неизвестно сколько
(т.е. это может быть 3 строки или больше),
в-третьих, она может содержать любые символы (текст, числа и т.п.),
но заканчивается она всегда следующим образом: указан е-мэйл, часть
у которого постоянная (всегда) и выглядит так:
-lala@a*****.by
после этого е-мэйла может быть от нуля до нескольких пробелов, перевод
строки и длинная строка, составленная из знаков равно
т.е. типа: (точно не задано,
сколько их, т.е. число может менять, но в любом случае больше 30
удалить нужно будет всю шапку, включая ту строку, которая состоит из
этих знаков равно... на них просто ориентироваться нельзя, т.к. иногда
в середине шапки текста может присутствовать такая же линия из знаков
равно, но сочетание типа концовка е-мэйла пробелы (если есть) переход
строки и длинная линия из знаков равно является явным окончанием шапки.
Пример шапки:
. ля траляля ля .
.................... [ красивый текст ] ..............................
. 222 333 44 - числа (!) <= знаки разные
опять текст и числа 222 снова текст и числа 333 и еще немного текста -
числе 22-33-2008 опять текст и числа префикс.текст-lala@a*****.by
вот это был пример шапки - несколько строк, мы не знаем, что в ней
(может быть разное), но четко всегда она заканчивается одним и тем же.
теперь по поводу футера (или подвала)...
что известно про него - им заканчивается текст
количество строк в нем четко не определено, может изменяться, но зато
четко известно, с чего начинается подвал, а начинается он вот с такой
последовательности символов: тире звездочка тире (несколько - от 4)
-жгде после звездочки минимум идет четыре знака тира (но может идти
больше) причем явно известно, что на этой строчке кроме пробелов
(возможных, т.е. пробелы от 0 до не знаю скольки) ничего нет, это
знак начала футера
обращаю Ваше внимание, что ниже последовательность знаков начала
футера может еще раз повторяться, т.е. например так:
-жфутер шмутер тра ля ля
и еще какая-то строчка с разными знаками ! . " @ и т.п.
-жи снова какие-то строчки непонятной природы...
Вот. Надеюсь, что объяснил достаточно подробно.
Вот пример текста, над которым можно эксперементировать:
http://soros.cima.ru/temp/regexp-example.txt
и вот, что после удаления хедера и футера должно остаться:
http://soros.cima.ru/temp/regexp-result.txt
--
28.01.2008 - 11:01
С уважением, Славников Дмитрий
http://subscribe.ru/author/9810
E-mail: slavnikov***@c*****.by
Mobile: (+375 29) 629-30-43
ICQ: 115041944
Номер выпуска : 108
Возраст листа : 1264 (дней)
Количество подписчиков : 151
Адрес в архиве : http://subscribe.ru/archive/inet.webbuild.scripttalk/msg/721109
Получить правила : mailto:inet.webbuild.scripttalk-rules@subscribe.ru
Формат "дайджест" : mailto:inet.webbuild.scripttalk-digest@subscribe.ru
Формат "каждое письмо" : mailto:inet.webbuild.scripttalk-normal@subscribe.ru
Формат "читать с веба" : mailto:inet.webbuild.scripttalk-webonly@subscribe.ru