PHP Smarty替换

时间:2016-09-11 10:13:58

标签: php smarty

我使用PHP Smarty,现在我想以更正确的方式使用replace:

我想删除整个<div class="news-text"></div>及其内部内容。

我怎样才能做到这一点?

我的代码目前看起来像这样,但它很讨厌,因为它只隐藏内容:

{$announcement.text|replace:'<div class="news-text"> ':'<div style="display:none;" class="news-text">'}

1 个答案:

答案 0 :(得分:1)

Smarty无法以可靠的方式做到这一点。您可以尝试创建一个自定义插件来操作html或更好,在将变量发送给Smarty之前修改变量的内容。

您当前的解决方案也是不必要的,可能容易出错。你可以用简单的css做到,不需要替换;即:

HTML:

<div class="no_news_text">
{$announcement.text}
</div>

的CSS:

.no_news_text .news-text{display:none !important;}