Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   обработка Asом текста Xml документа (http://www.flasher.ru/forum/showthread.php?t=67424)

inspace 02.08.2005 21:14

обработка Asом текста Xml документа
 
Уважаемые, следующий вопрос возник.
Импортирую XML документ в Dynamic Text. Строка отображающяяся в текстовом поле имеет длину xml строки. Переход на следующую строку в xml отображается как пропуск строки. Как грамотно отображать текст?

KidsKilla 02.08.2005 21:16

а?
ничего не понял. у тебя лишние переводы строк, что-ли?

inspace 02.08.2005 21:18

ага =))

KidsKilla 02.08.2005 21:23

XML.ignoreWhite = true;

KidsKilla 02.08.2005 21:26

или так:
function trim(txt){
while(txt.charCodeAt(0)<33) txt = txt.substs(1, txt.length);
while(txt.charCodeAt(txt.length-1)<33) txt = txt.substs(0, txt.length-1);
return txt;
}
my_txt = trim(" то что нужно \n \t ");

inspace 02.08.2005 21:27

уж есть. не помогает =))

KidsKilla 02.08.2005 21:28

если ты про двойные переводы строк внутри текста, то напишу как приеду домой.

inspace 02.08.2005 21:34

ок. жду.

iNils 02.08.2005 23:06

попробуй как в примере:
Код:

String.prototype.replace = function (findWhat, replaceWith) {
        if (findWhat != undefined and findWhat != "") {
                this = (this.split (findWhat)).join (replaceWith);
        }
        return this;
};
d = "1\n\n2";
trace (d);
f=d.replace ("\n\n", "\n");
trace (f);


KidsKilla 03.08.2005 02:12

вариант посовершеннее
Код:

function killNewlines(txt){
        var newTxt:String = "";
        var flag:Boolean = false;
        var v:String;
        for(var i = 0; i<txt.length; i++){
                v = txt.charAt(i);
                if(txt.charCodeAt(i)>33) {
                        newTxt += v;
                        flag = false;
                } if((v == "\n" || v == "\r")&&!flag){
                        flag = true;
                        newTxt += "\n";
                }
        }
        return newTxt
}
trace(killNewlines("первая строка\n  \t\r\nвторая строка"));



Часовой пояс GMT +4, время: 07:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.