fenom/docs/ru/mods/ereplace.md

26 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2014-08-06 21:36:11 +04:00
Модификатор ereplace
2014-08-01 12:12:19 +04:00
=================
2014-08-06 21:36:11 +04:00
Выполняет поиск и замену по регулярному выражению.
[Подробнее](http://www.php.net/manual/ru/reference.pcre.pattern.syntax.php) о регулярных выражениях.
2014-08-01 12:12:19 +04:00
```
{$string|ereplace:$pattern:$replacement}
2014-08-01 12:12:19 +04:00
```
2014-08-06 21:36:11 +04:00
Выполняет поиск совпадений в строке `$subject` с шаблоном pattern и заменяет их на replacement.
`$replacement` может содержать ссылки вида `\n`, `$n` или `${n}`, причем последний вариант предпочтительней.
Каждая такая ссылка будет заменена на подстроку, соответствующую n-ой подмаске. n может принимать значения от 0 до 99,
причем ссылка `\0` (либо $0) соответствует вхождению всего шаблона.
Подмаски нумеруются слева направо, начиная с единицы. Для использования обратного слэша, его необходимо продублировать.
2014-08-01 12:12:19 +04:00
```smarty
{var $string = 'April 15, 2014'}
{$string|ereplace:'/(\w+) (\d+), (\d+)/i':'${1}1, $3'} {* April1, 2014 *}
2014-08-06 21:36:11 +04:00
```
**Замечание:** воизбежание скрытых ошибок при выполнении сущностей регулярные выражения стоит помещать в одинарные кавычки.