fenom/docs/ru/mods/match.md

30 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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