Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   XML и линки (http://www.flasher.ru/forum/showthread.php?t=96003)

firsoff 21.05.2007 17:22

XML и линки
 
через файл XML передается контент, часть из которого просто текстовые блоки. Внутри текстовых блоков иногда встречаются ссылки типа www.###.ru, при клике на них нужно сделать переход по указанному линку. Как можно выделить эти ссылки, возможно нужно копать в сторону htmlText? кто сталкивался с такими проблемами?
PS: текстовых блоков может быть неограничено, колво ссылок неограничено, величина блока произвольная. Сам текст берется из ветки XML типа <text>paragraph_text</text>

etc 21.05.2007 17:29

Не возможно, а нужно «копать».

firsoff 21.05.2007 17:50

ну в общем пытался вставить в параграф вместо текста-ссылки вот такую вещь - <A href="http://www.###.ru"></A> и делал htmlText=true, ессно не работает.
Следующий вариант, заменил все <>"' html сущностями (&amp и тому подобное), тоже не работает. есть еще варианты? выковыривать из исходного текста ссылки по подстроке "www." что то так не хочется

Kikasso 21.05.2007 17:55

Код:

<а href="http://www.###.ru">CLICK HERE</а>
html = true

Molecula 21.05.2007 17:55

Ссылку в XML теле обрамляешь так:
Код:

<a href="www.somewhere.com">Hi!</a>
Можно так:
Код:

<a href="mailto:bobkin@vasia.com">Hi Venya!</a>
Текстовому поле во Flash-е ставишь:
Код:

my_txt.html = true;
где my_txt - имя твоего текстового поля.

Так же не забываем ставить:
Код:

my_txt.autoSize = true;
Про СSS тоже помним:
Код:

my_txt.styleSheet = styleObj;
До того как создали текст.поле пишем:

Код:

var styleObj:TextField.StyleSheet = new TextField.StyleSheet();
    styleObj.onLoad = function(success:Boolean) {
    if (success) {
                my_txt.styleSheet = styleObj;
          }
    };
    styleObj.load("css/flash.css");


firsoff 21.05.2007 18:02

может это и работает когда отдельно (в своей ветке) задается линк в XML. Здесь ситуация такая, в блоке параграфа <text>blablavlavalval www.###.ru</text> надо както обозначить www.###.ru чтобы в текстовом поле (куда запихивается ВЕСЬ параграф) это воспринималось как ссылка.

etc 21.05.2007 18:06

Тег CDATA в помощь.

iNils 21.05.2007 18:10

.....
Код:

<![CDATA[<а href="http://www.###.ru">CLICK HERE</а>]]>

Molecula 21.05.2007 18:11

Код:

<?xml version="1.0" encoding="UTF-8"?>
<venya><![CDATA[<p class="main"><b>Marinerad lax à la Balsamico</b>
<a href="mailto:venya@pupkin.com">i`m venya...write me</a></p>]]>
</venya>


Kikasso 21.05.2007 18:56

Код:

var my_xml:XML = new XML('<![CDATA[<a href="http://www.flasher.ru/forum">CLICK HERE</a>]]>');
var t:TextField = createTextField( "txt", 0, 0, 0 ,400, 100);
t.html = true;
t.htmlText = my_xml.firstChild.nodeValue;


firsoff 21.05.2007 21:53

спасибо всем откликнувшимся


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

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