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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.12.2011, 01:45
54321go вне форума Посмотреть профиль Отправить личное сообщение для 54321go Найти все сообщения от 54321go
  № 1  
Ответить с цитированием
54321go

Регистрация: Sep 2006
Сообщений: 453
По умолчанию Замена текста

Есть поле с ШТМЛ текстом в нем встречаются подобные теги
Код:
<a href="event:manName">Введите имя</a>
как заменить все данные от текста "<a href="event:manName">" до "</a>", то есть "Введите имя".
И также как достать текст между этими тегами?

Старый 10.12.2011, 02:08
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
ну так например
ищете слово href узнаете индекс начала в зависимости от какой нить параметра. дальше по следующему индексу находим > и конец < от индекса до индекса ваш текст. Или юзать regEXP может кто напишет вам реализацию.
__________________
Марк Tween

Старый 10.12.2011, 09:34
ProxyGreen вне форума Посмотреть профиль Отправить личное сообщение для ProxyGreen Найти все сообщения от ProxyGreen
  № 3  
Ответить с цитированием
ProxyGreen
 
Аватар для ProxyGreen

Регистрация: Jul 2011
Сообщений: 67
Ну в самом простом виде как-то так:

Код AS3:
public function tagReplaceText(text:String, replacement:String):String {
	var reg:RegExp =/(<[^>]+>)([^<]*)(<[^>]+>)/;
	var result:String = text.replace(reg, '$1' + replacement + '$3');
	var oldText:String = text.replace(reg, '$2');
	return result;
}
Что-бы достать старый текст, возвращайте oldText вместо result.

Старый 10.12.2011, 14:38
54321go вне форума Посмотреть профиль Отправить личное сообщение для 54321go Найти все сообщения от 54321go
  № 4  
Ответить с цитированием
54321go

Регистрация: Sep 2006
Сообщений: 453
Спасибо за пример, но как сделать чтобы учитывалась в поиске строка "manName">"? И сейчас меняет только первый найденный текст, а как сделать чтобы все меняло?

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

Регистрация: Jul 2011
Сообщений: 67
Цитата:
но как сделать чтобы учитывалась в поиске строка "manName">"?
Ну это смотря где, и для чего учитывать.

Цитата:
как сделать чтобы все меняло?
флажок не поставил, так всё будет менять. Подробнее можно в доке к ас почитать, там глава про регулярки имеется.

Код AS3:
public function tagReplaceText(text:String, replacement:String):String {
	var reg:RegExp =/(<[^>]+>)([^<]*)(<[^>]+>)/g;
	var result:String = text.replace(reg, '$1' + replacement + '$3');
	var oldText:String = text.replace(reg, '$2');
	return result;
}

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.