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 に答える