我需要一个功能,我必须突出/替换文章正文的匹配标签/关键字,并将这些匹配的标签/关键字变成如下所示的链接
en/search.aspx?language=en-US&issue=1&pageID=2&search=Something
我正在使用的以下代码可以正常工作,但如果它与关键字匹配,它甚至会更改 HTML。
下面代码的逻辑很简单,我将数组从后面的代码传递给 jquery 函数,格式如下"[ 'one', 'two','three','US','UK' ]"
在这种情况下,它也会更改上面的链接,因为它US
匹配数组元素之一,同时遍历内容 N 次
我将不胜感激这方面的帮助,以便该功能仅更改单词而不是单词的任何匹配部分,并在执行相同操作时忽略 HTML 标记
部分代码采用 ASP.Net 格式,例如 <%= _pPID %>;
function HighlightKeywords(keywords)
{
var el = $("#article-detail-desc");
var language = "<%= _planguage %>";
var pid = <%= _pPID %>;
var issueID = <%= _pIssue %>;
// array format = " 'one', 'two','three','US','UK' ";
$(keywords).each(function()
{
var pattern = new RegExp("("+this+")", ["gi"]);
var rs = "<a class='ad-keyword-selected' href='en/search.aspx?Language="+language+"&PageId="+pid+"&issue="+issueID+"&search=$1' title='Seach website for: $1'><span style='color:#990044; tex-decoration:none;'>$1</span></a>";
el.html(el.html().replace(pattern, rs));
});
}
HighlightKeywords([<%= _pKeywords %>]);
<div id="article-detail-desc">
all the text related to article will be show displayed inside this div and any matching words will be replaced by the link <a></a>
</div>