ve sonra dinamik olarak oluşturulmuş dehighlight html:Açısal vurgulamak & dehighlight dinamik html kullanarak filtreler
Vurgu filtresi:
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());
};
});
Yayılma etiketini çıkarmaya ve orijinal metni bırakmaya çalışıyorum, ancak çalışıp çalışmadığını veya geri dönüp dönmeyeceğinden emin değilim. Str, html dizesidir. Herhangi bir yardım büyük takdir edilecektir!
bu Angular2 ya da geç olduğundan emin misin? –
@Gunter Açısal 1.6 – RandomUs1r
'angularjs' AngularJS 1.x için doğru etiket. 'Açısal' etiketi sadece Angular 2+ içindir. Doğru etiketleri kullanmak iyi bir cevap almak için şansı arttırır. –