だから私はここにこのコードを書いた:
highlighter: function (item) {
var parts = this.query.split(" ");
var length = parts.length;
for (var i = 0; i < length; i++){
if(parts[i] != ""){
item = item.replace(new RegExp('(' + parts[i] + ')', 'ig'), function ($1, match) {
return '<strong>' + match + '</strong>'
})
}
}
return item;
}
それが何をするか:
- 私は文字列を持っています
item
、そして文字列this.query
- 各スペースで分割
this.query
し、結果の部分文字列をに入れますparts[]
私の目標は、サブストリングのすべての出現をparts[]
太字item
にすることです。
だからもし
item = "This is some text"
と
this.query = "This some"
欲しい<strong>This</strong> is <strong>some</strong> text
。
<strong>
これは、要素自体で一致する場合を除いて、完全に機能します。strong
そのため、タグ自体に含まれていない一致のみを置き換えたいと思います。結果の文字列が含まれているためong>
ですtrong>
。これは可能ですか?