AS3在文章中创建HTML链接



我有一个Wiki程序,它在本地工作,组织文章并添加链接到函数的HTML链接(以加载后续文章)。

一些让你头疼的代码:

for each (var keyword:String in thisArticleArray) {
  var pattern:RegExp = new RegExp(keyword,'/gi');
  contents = contents.replace(pattern,"<a href="event:" + "$&" + ""><b>" + keyword + "</b></a>");
}

无论如何,这个想法是这些链接链接到新的文章。这还不错。但现在,我有一些文章的名字包含了其他文章的名字。例如"苹果"one_answers"苹果派"。我该如何区分这些?现在,当它击中那个区域时,它就会失灵。。。

有什么想法吗?

好吧,我只需按字符串长度对thisArticleArray进行反向排序。这样,代码将始终尝试先匹配较长的匹配项,然后再匹配较短的匹配项。

您是否尝试过编写正则表达式?如果您将/Apple/gi设置为RegEx

new RegExp(keyword,'gi')

那么它将在任何地方与苹果匹敌。但如果你的RegEx看起来像这样,例如:/^Apple$/gim

new RegExp("^"+keyword+"$","gim")

在这个例子中,模式将匹配单词Apple或单独排成一行的Apple,因此它将不匹配Apple Pie。

换句话说,如果您要使正则表达式更加具体,您将能够减少误报匹配:)

最新更新