regex_replace

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

Note

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

Parameters

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


Example 5.15. regex_replace

  1. <?php
  2.  
  3. $smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say.");
  4.  
  5. ?>
  6.  

模板:

  1. {* replace each carriage return, tab and new line with a space *}
  2.  
  3. {$articleTitle}
  4. {$articleTitle|regex_replace:"/[\r\t\n]/":" "}
  5.  

输出:

  1. Infertility unlikely to
  2. be passed on, experts say.
  3. Infertility unlikely to be passed on, experts say.
  4.  

参见 replaceescape.

原文: https://www.smarty.net/docs/zh_CN/language.modifier.regex.replace.tpl