2010-09-20 141 views
0

我有一個.asp頁面腳本作爲一個XML頁面,但我有一些問題與HTML實體。我有一個產品飼料,顯然是一個產品說明。格式化XML文件的文本

以下代碼正確格式'&'爲'&',但我也需要捕獲已註冊標記的實例並將其作爲html實體。

Dim varOrgText, varDisplayText 
If (rsproducts.Fields.Item("prod_description").Value) <> "" Then 
varOrgText = (rsproducts.Fields.Item("prod_description").Value) 
varFormattedOrgText = (Replace(varOrgText, "&", "&amp;")) 
varDisplayText = "<![CDATA[" & varFormattedOrgText & "]]>" 
End If 

我試過這樣做,以趕上&符和註冊標記;

Dim varOrgText, varDisplayText 
If (rsproducts.Fields.Item("prod_description").Value) <> "" Then 
varOrgText = (rsproducts.Fields.Item("prod_description").Value) 
varFormattedOrgText = (Replace(varOrgText, "&", "&amp;")) 
varFormattedOrgText2 = (Replace(varOrgText, "®", "&#174;")) 
varDisplayText = "<![CDATA[" & varFormattedOrgText2 & "]]>" 
End If 

但顯然它沒有工作,所以我正在尋找一種更簡單的格式描述方法。

將不勝感激任何幫助,使這一點更容易。 :)

謝謝。

回答

0

你有一個小錯誤在你的代碼:要替換的註冊商標在varOrgText,而不是在varFormattedOrgText

Dim varOrgText, varDisplayText 
If (rsproducts.Fields.Item("prod_description").Value) <> "" Then 
    varOrgText = (rsproducts.Fields.Item("prod_description").Value) 
    varFormattedOrgText = (Replace(varOrgText, "&", "&amp;")) 
    varFormattedOrgText2 = (Replace(varFormattedOrgText, "®", "&#174;")) 
    varDisplayText = "<![CDATA[" & varFormattedOrgText2 & "]]>" 
End If 

除此之外,你可以嘗試使用server.HTMLEncode()到enconde所有的HTML,但我認爲,在<![CDATA[]]>塊之間不是必需的。