Skip to content

regex_replace

对变量进行正则表达式的搜索和替换。使用 PHP 手册中的 preg_replace() 语法。

基本用法

{$myVar|regex_replace:"/foo/":"bar"}

注意

虽然 Smarty 提供了这个正则表达式的便利修饰符,但通常最好在 PHP 中应用正则表达式,可以通过自定义函数或修饰符来实现。正则表达式被视为应用程序代码,而不是演示逻辑的一部分。

参数

参数位置 类型 必需 描述
1 string 要替换的正则表达式。
2 string 要替换的文本字符串。

示例

<?php

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

模板如下:

{* 将每个回车、制表符和换行符替换为空格 *}

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

输出结果如下:

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

另请参阅 replaceescape