AS3在文章中创建HTML链接
我有一个Wiki程序,可以在本地运行,组织文章,并添加链接到函数的HTML链接(以加载后续文章) 下面是一些让你头脑清醒的代码:AS3在文章中创建HTML链接,html,regex,actionscript-3,hyperlink,Html,Regex,Actionscript 3,Hyperlink,我有一个Wiki程序,可以在本地运行,组织文章,并添加链接到函数的HTML链接(以加载后续文章) 下面是一些让你头脑清醒的代码: for each (var keyword:String in thisArticleArray) { var pattern:RegExp = new RegExp(keyword,'/gi'); contents = contents.replace(pattern,"<a href=\"event:" + "$&" + "\"><
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>");
}
每个的(var关键字:thisArticleArray中的字符串){
变量模式:RegExp=newregexp(关键字'/gi');
contents=contents.replace(模式“”);
}
无论如何,这个想法是这些链接链接到新的文章。那还不错。但是现在,我有一些文章的名称包含其他文章的名称。例如“苹果”和“苹果派”。我如何区分这些?现在,当它撞到那个区域的时候,它就搞砸了
有什么想法吗?好吧,我会简单地按字符串长度反向排序
thisArticleArray
。这样,代码将始终尝试在较短的匹配之前匹配较长的匹配。您是否尝试过编写正则表达式?如果将/Apple/gi设置为RegEx
new RegExp(keyword,'gi')
那么它将在任何地方与苹果相匹敌。但是如果您的正则表达式看起来像这样,例如:/^Apple$/gim
new RegExp("^"+keyword+"$","gim")
在本例中,模式将匹配单词Apple或单独坐在一行中的Apple,因此它将不匹配Apple Pie
换句话说,如果您能使正则表达式更加具体,您将能够减少误报匹配:)谢谢。我会把这个和另一个答案结合起来!