Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с регулярным выражением 
:(
    Опции темы
Megas
Дата 28.5.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 15.1.2006

Репутация: нет
Всего: нет



Вообщем есть текст в котором некоторые места выглядят так:

{if:var}тут любой текст/данные{endif}

Вообщем нужно функцией preg_match_all получить var и текст который находится в середине.

Вроде такое простое дело, а чтото у меня самого никак не получается smile 
PM WWW   Вверх
Mal Hack
Дата 28.5.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Модератор: Название темы должно отражать ее суть! В следующий раз закрываю тему и вешаю кирпич.

Модератор: Тут не пишут скрипты за вас, а лишь помогают. Я что-то не вижу ваших попыток. Опять же, в следующий раз тема будет закрыта

Код
preg_match( "#\{if:[A-Z]+\}(.+?){endif}#is" , $str , $matches );
 
PM ICQ   Вверх
Acraft
Дата 2.6.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 19.4.2005

Репутация: 1
Всего: 2



А я бы строковые ф-ии использовал.
Код

$f_arr=file('file_name.txt');
for ($i=0; $i<sizeof($f_arr); $i++)
    {
      if (strpos("_".$f_arr[$i],"{")>0)
      $tmp1[sizeof($tmp1)]=substr($f_arr[$i],strpos($f_arr[$i],"var"),3);
      $tmp2[sizeof($tmp2)]=substr($f_arr[$i],strpos($f_arr[$i],"}"),strrpos($f_arr[$i],"{"));
    }

 
PM MAIL   Вверх
Mal Hack
Дата 2.6.2006, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



В данном случае, это все-таки не рационально. 
PM ICQ   Вверх
Azazel
Дата 7.6.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.6.2006

Репутация: нет
Всего: нет



Код

preg_match( "/{(\w+):\w}(.+?){end\\1}/is" , $str , $matches );


более универсально... 
PM MAIL   Вверх
Mal Hack
Дата 7.6.2006, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



\w содержит и знаки препинания, что не есть хорошо. 
PM ICQ   Вверх
vasac
Дата 8.6.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Цитата(Mal Hack @  7.6.2006,  23:40 Найти цитируемый пост)
\w содержит и знаки препинания, что не есть хорошо.  

Пардон, какие знаки препинания?
Цитата

\w - любой алфавитно-цифровой символ.

Алфавитно-цифровой символ — буква, цифра или знак подчеркивания. Под буквой подразумевается латинская буква и локальные буквенные символы (в зависимости от установленной локали). 
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1169 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.