2012-08-29 60 views
0

我有一个Wiki程序,它在本地工作并组织文章并添加链接到函数的HTML链接(用于加载后续文章)。AS3在文章中创建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>"); 
} 

不管怎么说,这个想法是,这些链接链接到新文章。这并不坏。但现在,我拥有包含其他文章名称的文章。例如“Apple”和“Apple Pie”。我将如何区分这些?现在它只是当它碰到该区域时拧紧...

任何想法?

回答

1

那么,我会简单地按字符串长度对thisArticleArray进行反向排序。通过这种方式,代码将始终尝试在较短的匹配项之前匹配较长的匹配项。

+0

好的。我会去做。 –

0

您是否试图真正写出正则表达式?如果你将/ Apple/gi设置为RegEx

new RegExp(keyword,'gi') 

那么它会匹配Apple的任何地方。但是如果你的正则表达式看起来像这样的例子:/^$苹果/ GIM

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

在这个例子中,模式会匹配字苹果或苹果独自坐在一条线,所以它不会匹配苹果派。

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

+0

谢谢。我会结合这与其他答案! –