如何在 actionscript 中的 htmlText 内部使用 < 或 >?
How do I use < or > inside of htmlText in actionscript?
我正在使用字体标签设置 Flex 组件中 TextArea 内文本的颜色。如果 html 标签之间的文本有一个 < 或 > 那么它会破坏文本并且不会呈现。
这是我正在尝试做的一个例子。
var textValue:String = "<some text>";
var myText:String = "<font color='#eeeeee'>" + textValue + "</font>"
var textArea:TextArea = new TextArea();
textArea.htmlText = myText;
我试过在 Actionscript 中使用 escape(textValue);
函数,但所做的只是将 < > 编码为 html 值,它并没有像在 [=] 中那样显示它们22=] 文本。
我想知道是否有一种方法可以转义 < > 以便 html 呈现它。
感谢推特上@s9tpepper 和@mike_robbo 的一些建议,我实际上能够使用以下代码按照 flash HTML 喜欢的方式对字符进行编码。
/**
* Encode HTML.
*/
public static function htmlEncode(s:String):String
{
s = s.replace("&", "&");
s = s.replace(" ", " ");
s = s.replace("<", "<");
s = s.replace(">", ">");
s = s.replace("™", '™');
s = s.replace("®", '®');
s = s.replace("©", '©');
s = s.replace("€", "€");
s = s.replace("£", "£");
s = s.replace("—", "—");
s = s.replace("–", "–");
s = s.replace("…", "…");
s = s.replace("†", "†");
s = s.replace("·", "·");
s = s.replace("µ", "µ");
s = s.replace("«", "«");
s = s.replace("»", "»");
s = s.replace("•", "•");
s = s.replace("°", "°");
s = s.replace('"', """);
return s;
}
我正在使用字体标签设置 Flex 组件中 TextArea 内文本的颜色。如果 html 标签之间的文本有一个 < 或 > 那么它会破坏文本并且不会呈现。
这是我正在尝试做的一个例子。
var textValue:String = "<some text>";
var myText:String = "<font color='#eeeeee'>" + textValue + "</font>"
var textArea:TextArea = new TextArea();
textArea.htmlText = myText;
我试过在 Actionscript 中使用 escape(textValue);
函数,但所做的只是将 < > 编码为 html 值,它并没有像在 [=] 中那样显示它们22=] 文本。
我想知道是否有一种方法可以转义 < > 以便 html 呈现它。
感谢推特上@s9tpepper 和@mike_robbo 的一些建议,我实际上能够使用以下代码按照 flash HTML 喜欢的方式对字符进行编码。
/**
* Encode HTML.
*/
public static function htmlEncode(s:String):String
{
s = s.replace("&", "&");
s = s.replace(" ", " ");
s = s.replace("<", "<");
s = s.replace(">", ">");
s = s.replace("™", '™');
s = s.replace("®", '®');
s = s.replace("©", '©');
s = s.replace("€", "€");
s = s.replace("£", "£");
s = s.replace("—", "—");
s = s.replace("–", "–");
s = s.replace("…", "…");
s = s.replace("†", "†");
s = s.replace("·", "·");
s = s.replace("µ", "µ");
s = s.replace("«", "«");
s = s.replace("»", "»");
s = s.replace("•", "•");
s = s.replace("°", "°");
s = s.replace('"', """);
return s;
}