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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.05.2006, 09:06
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 1  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Question Возможно ли использование регулярных выражений во флеше ?

Доброго времени суток.

Скажите, а во флеше есть какие то ф-и для поиска/замены текста по регулярным выражениям ?

(В хелпе и близлежащих FAQ ничего не нашол. Разве только выяснил, что в нем точно нет нормальных ф-й замены текста. Только извращение split+join).

В чем собственно задача, которую я пытаюсь решить:
1. Есть xml файл (пример в конце поста).
2. Он обрабатывается как список разделов в галерее.
3. Так как теги разделены пробелами и переводами строки \n, то флеш свято верит что там есть node. Хотя конечно этот node никому не нужен.
4. Что бы избавится от ненужных узлов перед parseXML я хотел обработать строку загруженую строку таким вот образом:

заменить /(</[a-z]+>)[\s\n]*(<[a-z]+>)/ на /\1\2/ (тоесть на первую и вторую переменную).

Выражение писал навскидку. Соответственно не пинайте если бред.
Что оно должно делать - удалять все пробельные символы и переводы строки между закрывающим и открывающим тегом.

Подскажите, как это реализовать, пожалуста
Или может я как то не так xml гружу ? На всякий случай код загрузки в конце поста.

XML файл
Код:
<?xml version="1.0" encoding="windows-1251" ?>
<gallery bg_addr='bg/some.jpg'>
	<chapter name='chpater 1' addr='class1' ico='ico.png' left_arrow='arrow_l.gif' right_arrow='arrow_r.gif'>
		<foto addr='foto1.jpg' prev='foto1_prev.jpg' name='this is foto 1' whatermark='Not for free' border='border1.jpg'/>
		<foto addr='foto2.jpg' prev='foto2_prev.jpg' name='this is foto 2' whatermark='Not for free' border='border2.jpg'/>
	</chapter>
	<chapter addr='class2' ico='ico.png' left_arrow='arrow_l.gif' right_arrow='arrow_r.gif' name='chapter2'>
		<foto addr='foto1.jpg' prev='foto1_prev.jpg' name='this is foto 1' whatermark='Not for free' border='border1.jpg'/>
	</chapter>
</gallery>
Загрузка XML:
Код:
gallery = new XML();
gallery.load("setup.xml");
gallery.onData = function(src){
gallery.parseXML(src);
}
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 02.05.2006, 10:31
breez38 вне форума Посмотреть профиль Отправить личное сообщение для breez38 Найти все сообщения от breez38
  № 2  
Ответить с цитированием
breez38
 
Аватар для breez38

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
я вообще не понял, зачем ты "ручками" парсишь XML. load сам это делает, тебе нужно только отловить onLoad и использовать уже готовое дерево. А чтоб XML понимал пробелы и переводы строк добавь сроку перед load()
Код:
gallery.ignoreWhite = true;
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

Старый 02.05.2006, 10:52
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 3  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Спасибо большое.
Сейчас попробую.
Я "ручками" я парсю xml так как:
1. раньше никогда с ним не работал.
2. onData выдает непарсеный.
3. В хелпе нашел парсер - заработало.
4. OnLoad мне сходу выдал Весьма Странный результат. Сейчас еще раз проверю. Может это у меня Очень Странное восприятие результатов
__________________
Студия "Ночной народ" | http://nightfolk.net/

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

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
и еще совет: используй UTF-8, с ним гемороя меньше. Блокнот в Win2000 и старше умеет работать с этой кодировкой, достаточно при первом сохранении в окне сохранения в списке кодировка (внизу) выбрать UTF-8 а дальнейшее редактирование/сохранение будет уже в UTF-8 происходить.
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

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

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Гмм. Это у меня что то с восприятием было Onload прекрасно работает.

ЗЫ. А насчет регулярных выражений - они во флеше фигурируют в каком товиде ? Или отсутствуют как класс ?
__________________
Студия "Ночной народ" | http://nightfolk.net/

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

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Мдя. Что то везде появляются тенденции к использованию UTF-8...
Сперва Аякс, теперь тут...
Я боюсь что человеку, который попросил ему галерею эту написать, будет чужда сама идея кодировок ...
Так что лутше не рисковать. Но на будущее учту. Спасибо еще раз.
__________________
Студия "Ночной народ" | http://nightfolk.net/

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

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
регулярных выражение во флеше не встречал.

а насчет UTF-8 - просто в этой кодировке используется 2 байта для представления символа, а не один как в ASCII, ANSI и т.д. Поэтому можно в одну кодировку запихать 65536 символов, вместо жалких 256 . Поэтому в UTF-8 входя символы почти всех языков мира (ну там китайский в упрощенном варианте). Так что не нужно голову ломать есть ли нужная кодировка на машине юзера или нет - достаточно одной UTF-8.
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

Старый 02.05.2006, 12:51
undeddy вне форума Посмотреть профиль Отправить личное сообщение для undeddy Найти все сообщения от undeddy
  № 8  
Ответить с цитированием
undeddy

Регистрация: Dec 2005
Адрес: Холодная Сибирь...
Сообщений: 268
Отправить сообщение для undeddy с помощью ICQ
Кстати в AS3 не ввели рег.выражения?

Старый 02.05.2006, 14:29
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ворон, почитайте про ignoreWhite, помогает от изврата.
Рег. выражений в AS1-AS2 нет.
Некое подобие есть только для textfield, но это фигня.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
http://www.jurjans.lv/flash/RegExp.html
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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