3

有没有办法像默认一样在 php smarty 中使用 strip_tags 来允许特定的 html 标签通过?

stip_tags($a.message,'<p><div>');

smarty 中的等价物是什么?

{$a.message|strip_tags}
4

3 回答 3

4

我正在使用 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>不会被剥离。

于 2012-08-07T06:46:38.193 回答
4

我知道我有点晚了,但是对于那些需要这样做并且不想编写 Smarty-plugin 的人:

在 Smarty 中,您可以像这样从 PHP 中“借用”方法。

代替:

{$a.message|strip_tags}

采用

{strip_tags($a.message,"<br><div>") nofilter}

注意:如果你设置了,你只需要nofilter参数$smarty->escape_html = true;

于 2016-02-12T21:37:27.630 回答
2

根据文档,无法指定要保留哪些标签。但是,您可以轻松地为自己创建一个插件: http ://www.smarty.net/docs/en/plugins.writing.tpl

于 2012-08-07T06:26:58.440 回答