fenom/docs/ru/mods/match.md

30 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2014-08-06 21:36:11 +04:00
Модификатор match
=================
Проверяет совпадение строки с паттерном.
Среднестатистический пользователь знаком с подстановками оболочки, как минимум с самыми простыми из них - `?` и `*`,
так что использование `match` вместо `ematch` для поиска в пользовательской части сайта может быть намного удобнее для пользователей,
не являющихся программистами.
2014-08-01 12:12:19 +04:00
```
{$string|match:$pattern}
```
2014-08-06 21:36:11 +04:00
Специальные символы:
2014-08-01 12:12:19 +04:00
2014-08-06 21:36:11 +04:00
* `?` — соответствие одному или нулю любых символов. `?at` соответствует `Cat`, `cat`, `Bat` или `bat`.
* `*` — соответствие любому количеству символов. `Law*` соответствует `Law`, `Laws`, или `Lawyer`.
* `[characters]` — соответствие символа группе символов. `[CB]at` соответствует `Cat` или `Bat`, но не `cat`, `rat` или `bat`.
* `\` - экрнирующийсимвол. `Law\*` будет соответвовать только `Law*`
2014-08-01 12:12:19 +04:00
```smarty
{if $color|match:"*gr[ae]y"}
2014-08-06 21:36:11 +04:00
какой-то оттенок серого
2014-08-01 12:12:19 +04:00
{/if}
```
**Замечание:**
максимальная длинна проверяемой строки не должна превышать 4096 символов.