2012-08-29 58 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

謝謝。我會結合這與其他答案! –