2010-09-20 4 views
0

J'ai une page .asp sous forme de page xml, mais j'ai des problèmes avec les entités html. J'ai un flux avec des produits et évidemment une description du produit. La personne de code suivante formate correctement '&' en tant que '&', mais j'ai également besoin d'intercepter les instances de la marque enregistrée et d'en faire l'entité html.Mise en forme de texte pour un flux xml

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 

J'ai essayé de le faire pour attraper l'esperluette et les marques enregistrées;

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 

Mais évidemment, cela n'a pas fonctionné, donc je cherche un moyen plus simple de formater la description.

Je vous serais reconnaissant de nous aider à nous faciliter la tâche. :)

Merci.

Répondre

0

Vous avez un petit bug dans votre code: vous remplacez la marque enregistrée varOrgText, pas dans le 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 

En outre, vous pouvez essayer d'utiliser server.HTMLEncode() pour enconde tout HTML, mais je pense que n'est pas nécessaire entre un bloc <![CDATA[]]>.