прошить текстовую строку ..... для справки - PullRequest
0 голосов
/ 19 августа 2011
package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class test extends Sprite
    {
        private var _textFiled:TextField;
        public function test()
        {
            _textFiled = new TextField();
            _textFiled.text = ".  2011年8月15日晚,据传<a href='http://www.google.com.hk'>Google</a> 将以 <font size = '12'>40 </font> 美元现金每股,总价 125 亿美元,收购摩托罗拉移动";
            _textFiled.width = 300;
            _textFiled.wordWrap = true;
            _textFiled.multiline = true;
            var st:String = "";
            for (var i:int = 0; i < _textFiled.numLines; i++) {
                var s:String = _textFiled.getLineText(i) + "\n    ";
                st += s;
            }
            _textFiled = new TextField();
            _textFiled.width = 300;
            _textFiled.wordWrap = true;
            _textFiled.multiline = true;
            _textFiled.htmlText = st;

            addChild(_textFiled);
        }
    }
}

Теперь у меня есть такое требование, я хочу использовать текстовый текст в реальности, текст содержит HTML-код, я думаю, что в соответствии с TAB после, я знаю текстовый файл в одном из метода getlineText, а затемназад, чтобы добавить "\ t"

var strText:string = "";
for(var i:int =9;i<textfile.numLine;i++) {

  var str:String = textfiled.getlineText(i) + "\t";
  strText += str;
}
textfile.htmlText = strText ;

Но это может получить только текст, фильтрация HTML-кода, я приехал из Китая, впервые здесь, чтобы задать вопросы, спасибо всем.

Ответы [ 2 ]

0 голосов
/ 19 августа 2011

Я не уверен, что это то, о чем вы спрашиваете, но если вы не хотите потерять форматирование HTML, вам нужно получить текст, используя _textFiled.htmlText. Затем, если вы хотите прочитать это построчно, это довольно сложно, потому что и <p>, и <br> собираются создавать новые строки. В зависимости от вашего ввода, может быть, вы можете просто разбить строку на <br> теги:

var lines:Array = _textFiled.htmlText.split("<br>");
for(var i:int =9;i<lines.length;i++) {

  var str:String = lines[i] + "\t";
  strText += str;
}

Но, опять же, это зависит от ввода - если он сгенерирован пользователем, вам нужно выполнить намного больше анализа. Если нет, и вы знаете, как будет отформатирован HTML-код, это будет намного проще.

0 голосов
/ 19 августа 2011

Вкладки не будут отображаться в HTML. Если несколько пробелов в порядке, введите столько &nbsp;, сколько необходимо. Если в середине строки нужны вкладки, необходимо рассчитать, сколько фактически нужно пробелов. В этом случае при использовании flash было бы проще создать несколько текстовых полей, по одному для каждого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...