html - 在 Smarty 中删除 block 中的 HTML 标签

标签 html tags smarty block

如何删除 Smarty block 中的 HTML 标签?
我已在 block 内尝试过 {strip} 但没有成功。
我也尝试写一个插件。但是如何将 block 的内容解析为字符串变量呢?

最佳答案

{strip} block 实际上做了其他事情 - 它只是从标记中去除空格。

您可以编写一个简单的 block 插件:

function smarty_block_sanitize($parms, $content, &$smarty, &$repeat ) {
    if( $repeat ) {
        return( strip_tags( $content ) );
    }
}

将其放在显示模板之前调用的 PHP 文件中的某个位置。要在模板中使用它,请执行以下操作:

Sample text {sanitize}<more markup>test</more markup>{/sanitize}  End text.

请注意允许带有 strip_tags 的标签(及其 PHP 参数),因为 onclick/onmouseover/其他邪恶的属性不会被过滤。

关于html - 在 Smarty 中删除 block 中的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11123681/

相关文章:

html - <code> 元素的 css 样式属性是什么?

javascript - 如何从可拖动元素制作可拖动元素?

ios - 如何在 UITAbleView 单元格中设置标签值并将其传递到 iOS 中的 URL?

java - 解析 XML 文件时跳过除 Java 标签之外的所有标签

HTML <strong> 标签

javascript - 如何在 onClick 元素后设置回调函数?

javascript - 粘性标题不会一直向上滚动(与下面的 div 重叠)

PHPDocumentor 日期问题警告

php - 在 Prestashop 的注册表中添加地址字段

php - 如何在 Smarty(PHP) 中检查复杂条件