Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在spark textarea中设置换行符时出现异常问题_Actionscript 3_Flex4 - Fatal编程技术网

Actionscript 3 在spark textarea中设置换行符时出现异常问题

Actionscript 3 在spark textarea中设置换行符时出现异常问题,actionscript-3,flex4,Actionscript 3,Flex4,我有Spark文本区,其中包含以下文本: “text1\ntext2\ntext3” 上面的文本在单独的行上显示为3个单词 文本1 文本2 文本3 嗯 现在我想设置文本样式并添加背景色: var tmp:String = textArea.text.replace("\n", '</span><br/><span backgroundColor="#B22300">'); textArea.textFlow = spar

我有Spark文本区,其中包含以下文本: “text1\ntext2\ntext3”

上面的文本在单独的行上显示为3个单词

文本1

文本2

文本3

现在我想设置文本样式并添加背景色:

var tmp:String = textArea.text.replace("\n", '</span><br/><span backgroundColor="#B22300">');
textArea.textFlow = spark.utils.TextFlowUtil.importFromString('<span backgroundColor="#B22300">'+tmp+'</span>');
var-tmp:String=textArea.text.replace(“\n”,”
); textArea.textFlow=spark.utils.TextFlowUtil.importFromString(“”+tmp+“”);
结果:它不起作用。文本以背景色显示,但分为两行:

文本1

文本2文本3


所以我的问题是:我做错了什么?

在你的例子中,你写道:

text1\ntext2\text3

我想你是想写这个:

text1\ntext2\ntext3

在这种情况下,我相信它只是替换新行字符的最后一个实例。尝试使用带有全局标志的正则表达式:

var tmp:String = textArea.text.replace(new RegExp("\\n", "g"), "</span><br/><span backgroundColor = \"#B22300\">");
var-tmp:String=textArea.text.replace(新的RegExp(“\\n”,“g”),“
”);
只是出于好奇,当您将

更改为

时会发生什么?这在技术上更为正确,我敢打赌Flash会喜欢结尾。

为什么不把它们放在单独的段落元素中,而不是带分隔符的跨距中呢?RIAstar,这是一个反问句,但我会尝试你的解决方案,看看是否有效。感谢1978年的黑暗,我必须更准确地阅读函数定义。