Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.07.2012, 15:14
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 11  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
У меня все выводится и переносится, и никакие теги в видимом тексте не остаются:
Код AS3:
var xml:XML = <group name="descrition"><![CDATA[Организатор:<br/>Межрегиональная общественная организация содействия архитектурному образованию.]]></group>;
var txt:TextField = new TextField();
addChild(txt);
txt.multiline = true;
txt.width = 1000;
txt.htmlText = xml.toString(); // лучше xml.text();
Если минимальный пример работает, ищите ошибку в другом месте.
__________________
Reality.getBounds(this);

Старый 30.07.2012, 15:48
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 12  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от FriOne Посмотреть сообщение
Вообще-то код ас2, но все равно спасибо)
Не обратил внимание, извиняюсь. Но суть содержания XML остается той же.

У меня тоже подозрение что баг в другом месте. Или сам XML кривой, или в коде что-то
__________________
adobe AS3 manual

Старый 30.07.2012, 15:56
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 13  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Возможно больше "ко двору" ignoreWhitespace

Старый 30.07.2012, 16:04
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 14  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от fish_r Посмотреть сообщение
Возможно больше "ко двору" ignoreWhitespace
А чем поможет?
__________________
adobe AS3 manual

Старый 30.07.2012, 19:49
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 15  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
А кстати говоря да - ерунда получается... Тогда можно исопльзовать \\&#xD; ( без косых только, они сейчас просто экранируют символ переноса строки ).

Старый 31.07.2012, 00:01
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 16  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Я в шоке, что никто не дал ответа на такой банальный вопрос, который довольно часто задавали на форуме.
Когда мы пишем \n в коде, то при компиляции получаем один символ переноса строки. При загрузки из внешнего источника, этого не происходит и мы имеем два символа \ и n.
Всего то нужно заменить экранированный обратный слеш и n, на \n.
Код AS3:
str = str.replace(/\\n/g, '\n')
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 31.07.2012, 00:32
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 17  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Как просто. Вроде "\\" — это экранирование бэк-слеша. Но то в языке программирования Си

CDATA интерпретируется "как есть". В нем достаточно организовать LF, CR или CR/LF. Т.е. не прописывать "\n" в явном виде. Иначе оно интерпретируется как два отдельных символа "\" и "n".
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 31.07.2012, 00:47
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 18  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ага. Это из разряда "пишем в местах перевода строки звездочки - *, потом в рантайме делаем сплит и джойн с заменой звездочек на перенос \n".
Да просто не надо пользоваться в XML и в других внешних данных этой системой. Совершенно верно сказано, что в контексте plain text это просто два символа.
Если текст требует форматирования, надо пользоваться форматированием, html или TLF Markup. А игры с заменой экранчиков рано или поздно сыграют злую шутку.
__________________
Reality.getBounds(this);

Старый 31.07.2012, 11:04
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 19  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от iNils Посмотреть сообщение
Я в шоке, что никто не дал ответа на такой банальный вопрос, который довольно часто задавали на форуме.
Когда мы пишем \n в коде, то при компиляции получаем один символ переноса строки. При загрузки из внешнего источника, этого не происходит и мы имеем два символа \ и n.
Всего то нужно заменить экранированный обратный слеш и n, на \n.
Код AS3:
str = str.replace(/\\n/g, '\n')
В смысле "правильность" заключается в том, чтобы сначала расставлять по тексту знаки "\n", а потом самому же парсить текст чтобы заменить их экранированные варианты?

Моё решение лучше.

Старый 31.07.2012, 11:38
FriOne вне форума Посмотреть профиль Отправить личное сообщение для FriOne Найти все сообщения от FriOne
  № 20  
Ответить с цитированием
FriOne
 
Аватар для FriOne

Регистрация: Jul 2010
Адрес: Бердск, НСК
Сообщений: 171
Записей в блоге: 1
Как раз нашел эту тему http://www.flasher.ru/forum/showthread.php?t=90892
Но за реплейс спасибо, блин давно пора разобраться в регулярных выражениях..
Чтобы заменить \\n и \\t одним реплейсом же никак?

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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