2010-04-28 90 views
1

我們公司有一個由多個電子郵件模板組成的內部網,這些模板由變量填充(如[[NAME]],[[PROJECT]]等)。我正在考慮實施某種客戶端模板,以便更容易地用實際值替換這些變量。未知變量的客戶端模板

問題是,在我到目前爲止找到的所有客戶端模板解決方案中,它們都似乎假定JS代碼知道標記中存在的所有模板變量,並且它們中沒有一個似乎是能夠獲取標記中定義的變量列表。

有誰知道任何解決方案/插件,使這成爲可能?

在此先感謝!

回答

1

你就不能使用一些簡單的正則表達式?

var variables = mycontent.match(/\[\[(.*?)\]\]/g); 

我建立了一個demo here,所以你可以看到它的行動。

+0

這看起來不錯!我會給它一個旋風。 – 2010-04-29 07:44:00

+0

工作就像一個魅力!對於那些熱心的人,我已經修改了這個例子來完成我所需要的:http://jsfiddle.net/KMVRJ/5/ – 2010-04-29 08:29:16

0

如果一組模板已經在客戶端上緩存,並且客戶可以隨時使用,並且每個模板都將擁有自己的一組信息(硬編碼或運行時定義)。然後我們可以去一些通用的解決方案

僞代碼

- Decide which Template now need to render 
- Send a Ajax command of array of variables in to be replace in the template 
    [{var_name:"%project_name%",var_value:"Project" },{var_name:"%superviser%",var_value:"Its me :)" }] 


- Write a generic code that loop through json array and replace the var_name with the template source 
    Check this - http://api.prototypejs.org/language/template/