用到TextField等的htmlText属性时,会发现,有些字符不显示。原因是遇到了”<",html中"<" , 和 ">“是成对的出现,单独出现一个会导致后边的字符被切掉了。所以这个时候,就需要对“<”,“>”,进行转义。

html转义字符对照表:http://tool.oschina.net/commons?type=2

并不是所有的”<" ,">“都需要转义。比如:
对于第一手数据,原本的不带html的标签。我们可以先转义,然后再对数据进行html包装,就可以解决上边的问题了。
但是,事情是千变万化的,有时候并不像你想象中的美好。如果你得到的第一手数据就已经带html标签了。这个时候,就要进行另外的处理了。比如:

马上要元旦了,先贴出转义封装吧。

        public static function translateTHL(value:String):String
        {
            var reg:RegExp = /&/g;
            value = value.replace(reg, "&amp;");
            reg = /</g;
            value = value.replace(reg, "&lt;");
            reg = />/g;
            value = value.replace(reg, "&gt;");
            return value;
        }
        
        public static function translateFHL(value:String):String
        {
            var reg:RegExp = /&lt;/g;
            value = value.replace(reg, "<");
            reg = /&gt;/g;
            value = value.replace(reg, ">");
            reg = /&amp;/g;
            value = value.replace(reg, "&");
            reg = /&quot;/g;
            value = value.replace(reg, "\"");
            reg = new RegExp("<br>", "g");
            value = value.replace(reg, "\n");
            reg = new RegExp("<br/>", "g");
            value = value.replace(reg, "\n");
            return value;
        }