regex_replace

用正则表达式搜索和替换变量值。 使用PHP的 preg_replace()函数进行。

Note

虽然Smarty提供了较方便的正则表达式修饰器, 但通常更好的方式是通过自定义函数或自定义修饰器在PHP端进行正则匹配替换。 正则表达式是程序应用代码,不是显示的逻辑代码。

Parameters

参数顺序 类型 必选参数 默认值 说明
1 string Yes n/a 正则表达式
2 string Yes n/a 替换的字符

Example 5.15. regex_replace


<?php

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

?>

   

模板:


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

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

   

输出:


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

   

参见 replaceescape.