Сложный вопрос по FLASH
252 сообщения
#18 лет назад
Привет всем FLASHерам.Такой вопрос. Есть у меня XMLина:
<main>
<member>
<!]>
</member>
</main>
Когда я ее парсю - то получаю:
<b>Hello</b> world !
Как мне сделать, чтоб < и > обрабатывались как < и > ?
А то если вставлять в htmlText, тогда на экране <b>Hello</b> world ! вместо Hello world !
Спасибо за помощь.
252 сообщения
#18 лет назад
Да. Дело в том, что все, что внутри <!]> парсится не смотря на содержимое. Т.е. если я там напишу ошибку - она пропарсится все равно, ибо это как string.Я проблему уже решил самым быстрым способом. Причем случайно

Делаю 2 текстовых поля с возможностью отоброжать html. Т.е. my_text_field1.html=true;
потом делаю my_text_field1.htmlText="<b>Hello</b> world !";
Оно отображается как <b>Hello</b> world !
Делаю второе текстовое поле и для него код my_text_field2.htmlText = my_text_field1.text;
И вуаля

уже второе текстовое поле показывает Hello world !
P.S. это было надо для того, чтоб я мог внедрять внутрь XML кода - HTML код

Все гениальное - просто

Человек (клиент из США) - был просто зверски шокирован тем, что у меня получилось.
Ему 4 человека ничего не могли сделать.
Говорит, что русские, чтоб не делать лишней работы - придумают способ, что оно само делалось


51 сообщение
#18 лет назад
Вобще-то блок ] предназначен для того что бы в нём игнорировались все тэги. И все тэги переводятся в спец последовательности символов. Вобще непонятно зачем тебе это. Всё гораздо проще:this.createTextField('txt', 1, 20, 20, 300, 20);
txt.html = true;
xml = new XML("<main><member><html><b>Hello</b> world</html></member></main>")
txt.htmlText=xml.firstChild.firstChild.firstChild
Если нет возможности сменить вывод данных, или по каким-то другим причинам не обойтись без ]. Тогда можно заменить мешающие нам символы сплитно-джоинтельным методом.
this.createTextField('txt', 1, 20, 20, 300, 20);
txt.html = true;
xml = new XML("<main><member><!]></member></main>")
txt.htmlText=(String(xml.firstChild.firstChild.firstChild).split('<').join('<').split('gt;').join('>'))
Но если кодишь на АС 3, то сплиты и джойнты лучше заменить регулярным выражением.
252 сообщения
#18 лет назад
Дело в том, что код может меняться:
<main><member><html><b>Hello</b> world</html></member></main>
или
<main><member><span class="bigfont"><b><u>Hello</u></b> world</class></member></main>
А это будет проблема. Код генерится из PHP. Как видешь, результат у меня получился гораздо проще:
my_txt.htmlText = "<b>Hello</b> world !";
txt2.htmlText = my_txt.text;
может это варворство, но работает оочень здоро, просто и главное - безотказно с любыми допустимыми тегами

Miramax, тебе зачет. Видно, что тоже шаришь нормально
