Форум 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)
-   -   Вытащить данные из HTML (http://www.flasher.ru/forum/showthread.php?t=123689)

jurik_5 08.04.2009 11:27

Вытащить данные из HTML
 
Необходимо вытащить из HTML страницы часть данных, например
Код:

<html>
<head> </head>
<body>
....
<table id="tab" cellpadding="0" cellspacing="0">
<tr>
<td>08.04.2009</td>
<td class="text">659</td>
<td class="text">689</td>
<td class="text">629</td>
....

</body>
</html>

вывести 659, 689, 629.

Можно ли это сделать во Flash (AS 2 / 3), а если возможно, та каким способом это лудше сделать?

Зарание благодарен.

MrXoT 08.04.2009 12:37

Можно попробывать использовать jquery...

jurik_5 08.04.2009 13:53

Я так понимаю jquery используется в JavaScript? А мне надо что бы запущенный Flash мувик затягивал данные с удалённой веб страницы.

Может можно загнать HTML код в string а потом задать чтение от class="text"> до </td> и т.д.
Какие классы можно для этого использовать :o

MrXoT 08.04.2009 15:15

а что мешает из JavaScript передать данные во флеш?
притом что в jquery работа с html намного проще чем во флеше.

jurik_5 08.04.2009 16:54

Да наверное ничего не мешает, только Flash мувик будет запускатся непосредствено на локальном компе в плеере, а не как часть веб страницы.

Я только начал разбиратся с AS, а с java совсем не работал, так что лично для меня проще написать сразу во Флеш, пускай даже скрипт займёт несравнимо больше места.

jurik_5 26.04.2009 17:00

Может есть смысл использовать .split .join
Например:
Код AS1/AS2:

var my_str:String = '<td class="text_green">0.647</td><td class="text_green">0.677</td><td class="text_green">0.617</td><td>-</td><td>-</td><tr><td width="60">';
var my_array:Array = my_str.split('<td class="text_green">');
 
for (i=0; i < my_array.length; i++){
trace(my_array[i]) };
 
/* Trace покажет:
0.647</td>
0.677</td>
0.617</td><td>-</td><td>-</td><tr><td width="60">
*/

И возникает вопрос как убрать ненужное
Код:

</td>
</td>
</td><td>-</td><td>-</td><tr><td width="60">

и оставить только числа?
Код:

0.647
0.677
0.617


user123 26.04.2009 22:58

Цитата:

/* Trace покажет:
0.647</td>
0.677</td>
0.617</td><td>-</td><td>-</td><tr><td width="60">
*/
[/as]

И возникает вопрос как убрать ненужное
Код:

</td>
</td>
</td><td>-</td><td>-</td><tr><td width="60">

и оставить только числа?
Код:

0.647
0.677
0.617


ну для конкретного случая что-то вроде
Код AS1/AS2:

var my_str:String = '<td class="text_green">0.647</td><td class="text_green">0.677</td><td class="text_green">0.617</td><td>-</td><td>-</td><tr><td width="60">';
var my_array:Array = my_str.split('<td class="text_green">');
for (i=0; i < my_array.length; i++){
my_ar2 = my_array[i].split('<');
trace(my_ar2[0]);
};


jurik_5 27.04.2009 00:52

Спасибо за помощь, хороший вариант. Но покопавшись в хелпе я написал такой скрипт:

Код AS1/AS2:

var my_str:String = '<td class="text_green">0.647</td><td class="text_green">0.677</td><td class="text_green">0.617</td><td>-</td><td>-</td><tr><td width="60">';
var my_array:Array = my_str.split('<td class="text_green">');
var A ="";
var B ="";
var C ="";
for (i=0; i < 5 i++){
A = A + my_array[0].charAt(i);
B = B + my_array[1].charAt(i);
C = C + my_array[2].charAt(i);
trace(ABC);
};


MrPoma 27.04.2009 01:02

Цитата:

Сообщение от jurik_5 (Сообщение 811863)
Да наверное ничего не мешает, только Flash мувик будет запускатся непосредствено на локальном компе в плеере, а не как часть веб страницы.

Запускайте на локальном компе как часть веб-страницы.

jurik_5 27.04.2009 11:39

Цитата:

Сообщение от MrPoma (Сообщение 815743)
Запускайте на локальном компе как часть веб-страницы.

Да, точно. Както не подумал о таком варианте. Но получилось обойтись и силами AS, темболее, что мне предпочтительно открывать непосредственно в плеере флэш.


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

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