Рег. выражения. Замена

Hotei

Новичок
Рег. выражения. Замена

Здраствуйте. Возникла следующая проблема:
Имеется текст, который надо обработать, заменить технические конструкции на понятные для обычного человека. Делаю это следующим образом - ищу в тексте определенные конструкции и заменяю в них часть, а другая часть с помощью карманов вставляется в полученный текст.
Пример выражения: b2 bSubE,([[:alpha:]]*),([[:digit:]]*)
замена на Уменьшает значение на \2% от элемента \1
Замена происходит нормально, но дополнительно необходимо, чтоб заменяемое значение 2 кармана, уменьшалось в 100 раз. Можно ли осуществить деление прямо в ereg_replace(), или же как это осуществить в другом случае?
Чтоб не возникло вопросов из-за корявости описания проблемы, еще 1 пример
Дано b2 bSubE,QWE,300
В результате должно получится Уменьшает значение на 3% от элемента QWE
Заранее спасибо.
 

zerkms

TDD infected
Команда форума
если использовать preg_replace то можно использовать модификатор e
 

Hotei

Новичок
zerkms
Спасибо, вроде бы это то, что мне нужно. Сейчас буду пробовать...
vasa_c
Вам тоже спасибо. preg_replace_callback поможет мне немного в другом+)

-~{}~ 09.07.06 22:43:

эм... снова я. что-то не совсем понял использование условий в маске. к примеру есть фараза типа QQQ,ЧИСЛО. Число есть либо просто цифры, либо цифры со знаком минус. какое условие надо вставить в маску чтоб при наличии минуса в карман заносислось (-ЧИСЛО), а при его отсутствии (+ЧИСЛО)
 
Сверху