我正在尝试为smarty添加strip_tags异常但由于某种原因它无法正常工作。下面是我的代码。有人可以帮我弄清楚我做错了什么。
<td class="olotd4 tooltip2">
<span>{$customer_work_orders_result
[i].WORK_ORDER_DESCRIPTION|strip_tags:"<a><del><em><strong><blockquote>"|stripslashes}</span>
{$customer_work_orders_result[i].WORK_ORDER_SCOPE}</td>
它正在工作但剥离一切。
提前致谢..
答案 0 :(得分:2)
Smarty strip_tags实现不允许这样做。但是,您可以编写自己的修饰符:
将其保存为smarty / plugins / modifier.strip_tags_exclude.php(或在您的自定义插件文件夹中)
function smarty_modifier_strip_tags_exclude()
{
$params=func_get_args();
if (!isset($params[1])) {
$params[1] = true;
}
if ($params[1] === true) {
return preg_replace('!<[^>]*?>!', ' ', $params[0]);
} else {
if (is_string($params[1]))
{
$allowable_tags = strtr($params[1],'[]','<>');
}
return strip_tags($params[0],$allowable_tags);
}
}
然后你可以这样使用它:
{$variable|strip_tags_exclude:'<a><p><ul><li>'}
或者(某些编辑可能会感到困惑并认为你正在打开标签):
{$variable|strip_tags_exclude:'[a][p][ul][li]'}