Dor*_*hen 11 javascript css html5 css3 angularjs
如何在我的html中动态标记我的搜索模式?
例:

我正在使用angular,我的html看起来像这样:
<div>
<input type="text" ng-model="viewmodel.searchString"/>
<!--Moving over all phrases-->
<div ng-repeat="phrase in viewmodel.Phrases">
{{phrase.title}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望字符串匹配模式将在搜索字符串中的每个更改上标记.
你能帮助我吗?
tun*_*ngd 24
Angular UI是一个很好的选择.您也可以使用以下过滤器执行此操作:http://embed.plnkr.co/XbCsxmfrgmdtOAeBZPUp/preview
本质是由@Hylianpuffball评论,为匹配动态创建样式'span'标签.
.filter('highlight', function($sce) {
return function(text, phrase) {
if (phrase) text = text.replace(new RegExp('('+phrase+')', 'gi'),
'<span class="highlighted">$1</span>')
return $sce.trustAsHtml(text)
}
})
Run Code Online (Sandbox Code Playgroud)
并使用它像:
<li ng-repeat="item in data | filter:search.title"
ng-bind-html="item.title | highlight:search.title">
</li>
Run Code Online (Sandbox Code Playgroud)