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

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

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

 

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

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

тема: Любая последовательность символов, ограниченная процентами.
 
 автор: GreenPiece   (13.08.2010 в 03:50)   письмо автору
 
 

Добрый день. Есть строка вида "Dear %name,%, as of %date% your balance is %amount%".
Регулярное выражение "\%(\w+)\%" пропарсит эту строку и выделит "date" и "amount". А как сделать так, чтобы оно выделяло ещё и "name,"? То есть любое слово из любых символов, ограниченное процентами с двух сторон, но в самом себе процента не содержащее?

P.S. \%(\S+)\% - не подходит, т.к. не выделяет "%name, " с пробелом на конце.

  Ответить  
 
 автор: Tonik992   (13.08.2010 в 13:52)   письмо автору
 
   для: GreenPiece   (13.08.2010 в 03:50)
 

<?php
$string 
'Dear %name,%, as of %date% your balance is %amount%';
$pattern "/\%(.+?)\%/is";
preg_match_all($pattern$string$matches);
/*
 * $matches[1][0] - "name,"
 * $matches[1][1] - "date"
 * $matches[1][2] - "amount"
 */

  Ответить  
 
 автор: Trianon   (13.08.2010 в 15:18)   письмо автору
 
   для: GreenPiece   (13.08.2010 в 03:50)
 

з-зачем?

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

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