summaryrefslogtreecommitdiff
path: root/docs/designers/language-modifiers/language-modifier-regex-replace.md
blob: 033d2a43d6b094a980599c7c467651a57a21a6cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# regex_replace

A regular expression search and replace on a variable. Use the
[`preg_replace()`](https://www.php.net/preg_replace) syntax from the PHP
manual.

## 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.

## Parameters

| 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.    |


## Examples

```php
<?php

$smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say.");

```

Where template is:

```smarty
{* replace each carriage return, tab and new line with a space *}

{$articleTitle}
{$articleTitle|regex_replace:"/[\r\t\n]/":" "}
```
       
Will output:

```
Infertility unlikely to
be passed on, experts say.
Infertility unlikely to be passed on, experts say.
```
       

See also [`replace`](language-modifier-replace.md) and
[`escape`](language-modifier-escape.md).