0

我有一个TextArea最后一行

</strong> Esplanade Concert Hall <strong>MRT:</strong>

我需要得到与原样相同的最后一行文本。

我正在使用这个函数来获取它:

textarea.mx_internal::getTextField().getLineText(lastlineIndex-2) 

但是返回的值是纯文本,我需要带有HTML格式的值,以便我可以将相同的字符串用于其他一些字符串操作。

我需要它,因为HTML我需要

content.split(lastlineText); 

content持有HTML文本。

4

1 回答 1

0

这是不可能的,因为文本字段不支持强标签。从 textarea htmltext 中删除了强标记。但是您可以使用正则表达式。将最后一行拆分为单词并创建模式。往下看(也许你自己修改代码):

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               creationComplete="application_creationCompleteHandler(event)"
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected var str:String = "";

            protected function application_creationCompleteHandler(event:FlexEvent):void
            {
                str = 'ActionScript 3 (AS3) is the open source object oriented programming (OOP) language of the Adobe <strong>Flash</strong> and <b>AIR</b> Platforms.';

                textarea.addEventListener("htmlTextChanged", textarea_changeHandler, false, 0, true);
                textarea.htmlText = str;
            }

            protected function textarea_changeHandler(event:Event):void
            {
                var allLines:Number = textarea.mx_internal::getTextField().numLines;
                var line:String = textarea.mx_internal::getTextField().getLineText(allLines-1); 

                var arr:Array = line.match(/\w+[.!?]?/gi);

                var pattern:String = "";

                var i:uint = 0;
                var l:uint = arr.length;

                for ( ; i<l; i++)
                {
                    pattern += "(<[^</]+?>)?\\s*" +  arr[i] + "\\s*(<[^<]+?>)?" + "\\s*";
                }

                var regex:RegExp = new RegExp(pattern, "gi");

                trace( str.match(regex) );

            }

        ]]>
    </fx:Script>
    <mx:TextArea id="textarea" width="280" height="100" x="100"/>

</s:Application>
于 2013-03-06T11:51:33.263 回答