![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 6
|
Проблема такая.
В программе гружу из XML текст и вставляют его в dynamic TextFiled. Хочу некоторые символы вручную из XML переносить на новую строку, используя специальные символы: \r \n. Но TextField отображает их как два символа, не распозновая в них специальных символов, и, соответственно, ничего не перенося на новую строку. Для теста забивал текст в TextField вручную из кода тоже с использованием \r и \n. Все работает! А из XML не хочет видеть специальных символов ![]() Может кто-нибудь помоч? |
|
|||||
|
можно в xml просто ентерев наставить
var i:int; var xml:XML = <texts> <text x="50" y="10" fontSize="20">Это большой текстовый блок</text> <text x="50" y="40" fontSize="10">Это текстовый блок поменьше с переносом строки с переносом строки с переносом строки с переносом строки с переносом строки </text> </texts> var reg:RegExp = /\n/gim; trace(String(xml.text[1]).replace(reg,''));В панеле Output видим Это текстовый блок поменьше с переносом строки с переносом строки с переносом строки с переносом строки с переносом строки var i:int; var xml:XML = <texts> <text x="50" y="10" fontSize="20">Это большой текстовый блок</text> <text x="50" y="40" fontSize="10">Это текстовый блок поменьше/rс переносом строки/rс переносом строки/r </text> </texts> var reg:RegExp = /\/r/gim; //trace(String(xml.text[1]).replace(reg,''));В панеле Output видим trace(String(xml.text[1]).replace(reg,'\n'));//В панеле Output видим |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 6
|
Спасибо!
В XML ентеров наставить - некрасиво. Использую \r \n и метод replace, как указано в ответе. Все работает. Но это по сути заглушка выходит. Очередное доказательство кривости рук разработчиков Flash ![]() |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
причем здесь разработчики? Просто происходит декодирование, то что вы в XML поставили энтер, тот же символ что и \r
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 6
|
В том то и дело, что без дополнительных преобразований(replace) работает только энтер.
Я писал программы на многих языках и с таким количеством недоработок и багов столкнулся только во Flash. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Любой браузер, открыв ваш xml, так же не сделает переносы. Это не баг, это обычный текст. И флеш обрабатывает его как обычный текст, и не понятно с какой стати вы решили, будто он должен делать иначе. Если вы хотите, чтобы флеш обрабатывал эскейп последовательности, то replace вам в руки. В чем проблема? Хочется других поругать?
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Cтавьте CDATA и теги <br> и преобразуйте текст в html , если так уж вам не нравится replace.
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| textfield , xml |
|
|