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}
|
2016-08-13 18:53:11 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Замечание:**
|
|
|
|
|
максимальная длинна проверяемой строки не должна превышать 4096 символов.
|