I’ve been doing some work with XML in AS3 and needing to have the XML contain HTML characters for an htmltext field in Flash – for links and lists etc.
Few ways to approach that:
<![CDATA[ "Rampant <'s and &'s in the XML fields that XML ignores due to special CDATA tags within the fields" ]]>
Or you could do all your html formatting in the XML with [‘s instead for example, then in Flash, change them to <‘s before firing it out. There are a million tidier ways to do this but this old function does that job:
function replaceSpecialCharracters(stringToBeReplaced:String) { // pushing this string into the array one character at a time var stringArray:Array = new Array(); for(var i:uint = 0;i<stringToBeReplaced.length; i++) { stringArray.push(stringToBeReplaced.charAt(i)); } // once array filled, stripping ['s for <'s and dumping them in to replacementString var replacementString:String = ""; for(i = 0;i<stringArray.length; i++) { if(stringArray[i] == "[") { stringArray[i] = "<"; } else if (stringArray[i] == "]") { stringArray[i] = ">"; } else if (stringArray[i] == "") { // damn horizontal tabs! stringArray[i] = ""; } replacementString += stringArray[i]; } return replacementString; }
Infact this way is much better
myText = myText.split("[").join("]");
Tech Reference: XML
Leave a Reply