2017-03-04 3 views
0

Ich habe einige Zeichenfolgen, die ich an mark.js übergeben soll.Markiere ein Wort mit mark.js

"item1 and item2" 
"item2 and item3" 

In einem normalen Absatz hätte ich:

item1 ist das erste Objekt unditem2 ein anderer ist.

Die fett markierten Elemente sind mark.js, aber ich möchte einige Wörter wie [und, oder] ausschließen.

Wie kann ich sie ausschließen oder abwählen?

+0

Warum filtern Sie die zu filternden Strings nicht manuell, bevor Sie sie an die 'mark'-Funktion übergeben? –

Antwort

1

var ignoreWords = [ 
 
    "the", 
 
    "and" 
 
    ], 
 
    keywords = [ 
 
    "item1 and item2", 
 
    "item2 and item3" 
 
    ], 
 
    optimizedKeywords = keywords.map(function(val) { 
 
    for (var i = 0, len = ignoreWords.length; i < len; i++) { 
 
     val = val.replace(new RegExp(ignoreWords[i], "gmi"), ""); 
 
    } 
 
    return val; 
 
    }); 
 
new Mark(".context").mark(optimizedKeywords);
<script src="https://cdn.jsdelivr.net/mark.js/8.8.3/mark.min.js"></script> 
 
<div class="context"> 
 
    item1 and item2<br> item2 the item3 
 
</div>

Sobald this PR verschmolzen Sie Wörter mit Wildcards auch mit behinderten separateWordSearch Sätze ersetzen lassen.