Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: nginx.conf парсер
 
 автор: dima2207   (29.10.2010 в 20:34)   письмо автору
 
 

Всем привет!
подскажите регвыру что бы вынуть все что находится между

server {

И

}
}

Я пробую так :

preg_match_all('#server {(.*?)}#is',$result,$out);

но так вынимаются первая вложенная секция.

  Ответить  
 
 автор: .....   (29.10.2010 в 23:46)
 
   для: dima2207   (29.10.2010 в 20:34)
 

только с какими-нибудь костылями
<?php
header
('content-type: text/plain'); 

$txt='

{...{.....}.......}
server    {
 .......    {
    !!!!!!
 }
 .....
}
neserver { 
    ...
 ....    {
    .....
 }
    .......
}
'
;

$r '#(?:\bserve(r)\s*)?(?(1)|(?!))\{((?>[^{}]+|(?R))*)\}#';

preg_match_all($r$txt$a);

var_dump($a[2]);

  Ответить  
 
 автор: dima2207   (29.10.2010 в 23:58)   письмо автору
 
   для: .....   (29.10.2010 в 23:46)
 

Спасибо, то что надо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования