Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Поиск многострочного текста (sv)
Author Message
sv
Участник форума



Joined: 04 Jan 2004
Posts: 68
Карма: -7
   поощрить/наказать

Location: Россия

PostPosted: Sun Jan 31, 2010 2:02 pm (написано за 5 минут 52 секунды)
   Post subject: Поиск многострочного текста
Reply with quote

Доброго времени суток всем форумчанам!

Имеем следующую задачку.

Есть приличное количество файлов php, в них имеется блок текста, который необходимо найти.

/*::::::::::::::::::::::::::::::::::::::::
 System name: (произвольный текст)
 Short Desc: (произвольный текст)
 Version: (произвольный текст)
 Authors: (произвольный текст)
 Date: (произвольный текст)
::::::::::::::::::::::::::::::::::::::::*/

Нашлось следующее решение
$pattern = '\/\*::::::::::::::::::::::::::::::::::::::::(\n)(.*?)(\n)(.*?)(\n)(.*?)(\n)(.*?)(\n)(.*?)(\n)::::::::::::::::::::::::::::::::::::::::\*\/';

Решение работает, но хотелось бы услышать мнение знающих людей, о том, насколько правильное это решение и можно ли решить более элегантно.

С Уважением Дмитрий.
Back to top
View user's profile Send private message Send e-mail
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Sun Jan 31, 2010 6:45 pm (спустя 4 часа 43 минуты; написано за 1 минуту 21 секунду)
   Post subject:
Reply with quote

:::::::::::::::::::::::::::::::::::::::: можно заменить на :{N}, где N - кол-во двоеточий. и вместо экранирования слеша можно использовать в качестве ограничителя любой другой символ, не служебный и не встречающийся в регулярке.
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9989
   поощрить/наказать


PostPosted: Sun Jan 31, 2010 7:22 pm (спустя 37 минут; написано за 42 секунды)
   Post subject:
Reply with quote

sv wrote:
Есть приличное количество файлов php, в них имеется блок текста, который необходимо найти.
— зачем?
Что потом с этим блоком делать собираетесь?
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Mon Feb 22, 2010 10:56 pm (спустя 22 дня 3 часа 33 минуты; написано за 1 минуту 2 секунды)
   Post subject:
Reply with quote

bæv wrote:
sv wrote:
Есть приличное количество файлов php, в них имеется блок текста, который необходимо найти.
— зачем?
Что потом с этим блоком делать собираетесь?
Заменить на другой блок текста.
Back to top
Alek Zander
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Feb 24, 2010 9:49 am (спустя 1 день 10 часов 53 минуты; написано за 4 секунды)
   Post subject:
Reply with quote

Попробуйте может такое:
\/\*:+\s*(^[\s\S]+?)^\s*?:+\*\/
слэш звезда двоеточия м.б.пробелы
( новая линия куча текста )
новая линия м.б.пробелы двоеточия звезда слэш

ну а с тем что в скобках разбирайтесь
Back to top
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML