Files
smarty/docs/designers/language-modifiers/language-modifier-regex-replace.md

56 lines
1.4 KiB
Markdown
Raw Normal View History

2023-02-06 14:42:31 +01:00
# regex_replace
A regular expression search and replace on a variable. Use the
2023-02-03 17:54:00 +01:00
[`preg_replace()`](https://www.php.net/preg_replace) syntax from the PHP
manual.
2023-02-06 14:42:31 +01:00
## Basic usage
```smarty
{$myVar|regex_replace:"/foo/":"bar"}
```
> **Note**
>
> Although Smarty supplies this regex convenience modifier, it is
> usually better to apply regular expressions in PHP, either via custom
> functions or modifiers. Regular expressions are considered application
> code and are not part of presentation logic.
2023-02-06 14:42:31 +01:00
## Parameters
2023-02-06 14:42:31 +01:00
| Parameter Position | Type | Required | Description |
|--------------------|--------|----------|------------------------------------------------|
| 1 | string | Yes | This is the regular expression to be replaced. |
| 2 | string | Yes | This is the string of text to replace with. |
2023-02-06 14:42:31 +01:00
## Examples
2023-02-06 14:42:31 +01:00
```php
<?php
2023-02-06 14:42:31 +01:00
$smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say.");
2023-02-06 14:42:31 +01:00
```
Where template is:
2023-02-06 14:42:31 +01:00
```smarty
{* replace each carriage return, tab and new line with a space *}
2023-02-06 14:42:31 +01:00
{$articleTitle}
{$articleTitle|regex_replace:"/[\r\t\n]/":" "}
```
Will output:
2023-02-06 14:42:31 +01:00
```
Infertility unlikely to
be passed on, experts say.
Infertility unlikely to be passed on, experts say.
```
2023-02-06 14:42:31 +01:00
See also [`replace`](language-modifier-replace.md) and
[`escape`](language-modifier-escape.md).