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

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

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

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
По умолчанию Обсудить собственный str_replace

Покольку я не нашел в классе String никакого варианта str_replace, я написал свой. Вот класс, ключевая функция в котором - замена спецсимволов, коды которых не распознает флэшовый htmlText.
Код:
class TCommonFuncs {
	
	public function TCommonFuncs() {
		
	}
	
	static function ReplaceFuckingSymbols(str) {
		str = ReplaceString(str, '«', '«');
		str = ReplaceString(str, '»', '»');
		str = ReplaceString(str, ' ', ' ');
		str = ReplaceString(str, '…', '...');
		str = ReplaceString(str, '©', '©');
		return str;
	}
	
	static function ReplaceString(str, a, b) {
		var sl1 = str.length;
		var sl2 = a.length;
		var sl3 = b.length;
		var sh = sl3 - sl2;
		for(var i=0;i<=sl1 - sl2;i++) {
			if(str.substr(i, sl2) == a) {
				str = str.substr(0, i) + b + str.substr(i+sl2, sl1);
				i+= sh;
				sl1 += sh;
			}
		}
		return str;
	}
	
}
Вопрос: если есть всё-таки во флэшэ встроенный реплейс, прошу, угостите. Если нет - посмотрите, насколько оптимален алгоритм. Мне кажется поколения программистов должны были создать что-то более изящное.


Последний раз редактировалось MyXus; 09.07.2006 в 20:53.
Старый 09.07.2006, 20:58
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 2  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
нда

Код:
String.prototype.replace = function (str:String, repStr:String):String  {
	return this.split (str).join (repStr);
};
trace ('>> ' + ('bla-la-la'.replace ('-la-', '< lala >')));

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Точно "нда"
это даже в FAQ есть
http://www.flasher.ru/forum/showthre...hlight=replace
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
действительно косяк..


Последний раз редактировалось MyXus; 09.07.2006 в 21:23.
Старый 09.07.2006, 21:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от MyXus
действительно косяк..
Не быстрее?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Не быстрее :-)

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

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

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


 


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


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