繁体   English   中英

如何使用正则表达式删除字符串 Handlerbar.js 中的 HTML 标记

[英]How to remove HTML tags in a string Handlerbar.js Using regex

我有一个字符串

var string =`<div><b>Test data</b></div><div><div>Invalid DateTime Only YYYY/MM/DD HH:mm:ss is allowed</div></div><br><div><div>Invalid DateTime</div>`

使用 Handlebar 中的正则表达式从字符串中删除那些 HTML 标签。 我的代码看起来像

这个DISPLAYVALUE是我的确切字符串,我必须在这里替换 HTML 标签

<span title="{{{this.DISPLAYVALUE}}}"> {{strip-scripts this.DISPLAYVALUE}}
<a href="javascript:void(0);" class="remove-ico right" data-filter-val="{{{this.DISPLAYVALUE}}}" datacolname='{{@root.currentColName}}'>
<i class="fa fa-times-circle"></i>
</a>
</span>

例外结果:- 测试数据无效 DateTime Only YYYY/MM/DD HH:mm:ss is allowed Invalid DateTime

您可以在车把模板中直接使用 HELPER 方法。例如,您可以创建一个单独的车把帮助 js 文件,如下所示;

    (function() {
    Handlebars.registerHelper('stripScripts', function(param) {
        var regex = /(<([^>]+)>)/ig
        return param.replace(regex, "");
    });

})();

然后你可以简单地在你的模板中调用这个方法,比如;

<span title="{{{this.DISPLAYVALUE}}}"> {{stripScripts this.DISPLAYVALUE}}
<a href="javascript:void(0);" class="remove-ico right" data-filter-val="{{{this.DISPLAYVALUE}}}" datacolname='{{@root.currentColName}}'>
<i class="fa fa-times-circle"></i>
</a>
</span>

如果可以使用 JS:

function myFunction() {
    var str = "<div><b>Test data</b></div><div><div>Invalid DateTime Only YYYY/MM/DD HH:mm:ss is allowed</div></div><br><div><div>Invalid DateTime</div>"; 
    var res = str.replace(/<div>/g, "");
    var res = res.replace(/<\/div>/g, "");
    var res = res.replace(/<b>/g, "");
    var res = res.replace(/<\/b>/g, "");
    var res = res.replace(/<br>/g, " ");
    console.log(res);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM