有没有办法像默认一样在 php smarty 中使用 strip_tags 来允许特定的 html 标签通过?
stip_tags($a.message,'<p><div>');
smarty 中的等价物是什么?
{$a.message|strip_tags}
我正在使用 Smarty 2.6.26 并strip_tags
使用指定要保留哪些标签的参数。
试试这个:
PHP:
$string = "<b>not bold</b><iframe>iframe goes away</frame> <p>paragraphed</p>
<div style='color:green'>div kept.</div>";
$smarty->assign('string', $string);
在模板中:
{$string|strip_tags:"<p><div>"}
<p>
并且<div>
不会被剥离。
我知道我有点晚了,但是对于那些需要这样做并且不想编写 Smarty-plugin 的人:
在 Smarty 中,您可以像这样从 PHP 中“借用”方法。
代替:
{$a.message|strip_tags}
采用
{strip_tags($a.message,"<br><div>") nofilter}
注意:如果你设置了,你只需要nofilter参数$smarty->escape_html = true;
根据文档,无法指定要保留哪些标签。但是,您可以轻松地为自己创建一个插件: http ://www.smarty.net/docs/en/plugins.writing.tpl