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

Программирование. Форум !!!

За 2008-01-28

Re[3]: Регулярные выражения (RegExp'ы): нужна консультация

Попросту говоря, в тексте нужно найти фиксированный ИМейл (именно
фиксированный, который вы точно знаете), а за ним через пару-тройку
переводов строки строку "========...=" из неменее чем 30 символов =. И
отступя, еще раз строку Если я это понял правильно, то я бы не стал регуляркой пользоваться.
$s=substr($s,strpos($s,str_repeat('=',30))+30);
while(substr($s,0,1))=='=')$s=substr($s,1);
$s=substr($s,strpos($s,str_repeat('=',30))+30);
while(substr($s,0,1))=='=')$s=substr($s,1);
Теперь в $s у нас тело+футер (т.е. мы отрезали все по вторую двойную линию).
Конечно эти две строчки можно "прокатить" в цикле for от 1 до 2.
$s=substr($s,0,strpos($s,'-ж----')) - без футера нужная "середка"-)))
С уважением.
Вадим Шешунов.

   Вадим Шешунов 2008-01-28 21:00:17 (#721221)

Re[2]: Регулярные выражения (RegExp'ы): нужна консультация

Добрый вечер, друзья!

27.01.2008 Вы написали мне письмо:
mid:20080127113519.7208***@c*****.subscribe
Тема: "Re: Регулярные выражения (RegExp'ы): нужна консультация"

В первую очередь обращаюсь к тем, кто откликнулся:
Grishkе, Вадиму Шешунову и Вахтурову Виктору.
(ну и к остальным, кто может помочь с регулярными выражениями).

Нужно силами регулярных выражений в 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

--
27.01.2008 - 22:19

С уважением, Славников Дмитрий
http://subscribe.ru/author/9810
E-mail: slavnikov***@c*****.by
Mobile: (+375 29) 629-30-43
ICQ: 115041944

   "Dmitry V. Slavnikov" 2008-01-28 20:08:25 (#721201)