我有一些这样的文本:
<span>My text</span>
我想在没有标签的情况下显示:
My text
我也不想应用标签,我想剥离它们。有什么简单的方法可以做到这一点呢?
Angular html:
<div>{{myText | htmlToPlaintext}}</div>
发布于 2016-03-09 15:08:50
var app = angular.module('myapp', []);
app.filter('htmlToPlaintext', function()
{
return function(text)
{
return text ? String(text).replace(/<[^>]+>/gm, '') : '';
};
});
<p>{{DetailblogList.description | htmlToPlaintext}}</p>
发布于 2015-12-08 22:05:49
为此,您希望使用内置的浏览器HTML条带,而不是应用regexp。它更安全,因为永远绿色的浏览器会为你做这些工作。
angular.module('myApp.filters', []).
filter('htmlToPlaintext', function() {
return function(text) {
return stripHtml(text);
};
}
);
var stripHtml = (function () {
var tmpEl = $document[0].createElement("DIV");
function strip(html) {
if (!html) {
return "";
}
tmpEl.innerHTML = html;
return tmpEl.textContent || tmpEl.innerText || "";
}
return strip;
}());
将其包装在自执行函数中的原因是为了重用元素创建。
发布于 2017-07-26 13:44:22
<div ng-bind-html="myText"></div>
不需要像{{myText}}那样放入{{}}插值标签。
别忘了在var app = angular.module("myApp", ['ngSanitize']);
这样的模块中使用ngSanitize
并在index.html页面https://cdnjs.com/libraries/angular-sanitize中添加其cdn依赖
https://stackoverflow.com/questions/17289448
复制相似问题