Tôi đang cố gắng để viết một tập hợp các bộ lọc để làm nổi bật và html sau đó tự động dehighlight tạo:nổi bật & html động dehighlight sử dụng bộ lọc kiễu góc
lọc Highlight:
app.filter('highlight', function ($sce) {
return function (str, termsToHighlight) {
// Sort terms by length
termsToHighlight.sort(function (a, b) {
return b.length - a.length;
});
var regex = new RegExp('(' + termsToHighlight.join('|') + ')', 'g');
return $sce.trustAsHtml(str.toString().replace(regex, '<span class="highlightedSpan" style="background-color: yellow; ' +
'font-weight: bold;">$&</span>'));
};
});
Dehighlight:
app.filter('dehighlight', function ($sce) {
return function (str) {
var obj = $($.parseHTML(str));
obj = obj.find('.highlightedSpan').replaceWith(function() { return this.innerHTML; });
return $sce.trustAsHtml(obj.html());
};
});
Tôi đang cố gắng loại bỏ thẻ span và để nguyên văn bản gốc, nhưng tôi không chắc liệu nó có hoạt động hay không. Str là chuỗi html. Mọi sự trợ giúp sẽ rất được trân trọng!
Bạn có chắc chắn đây là Angular2 hay muộn? –
@Gunter Angular 1.6 – RandomUs1r
'angularjs' là thẻ chính xác cho AngularJS 1.x. Thẻ 'angular' chỉ dành cho Angular 2+. Sử dụng đúng thẻ sẽ tăng cơ hội nhận được câu trả lời hay. –