Как выдернуть данные из JS

Тема в разделе "FAQ", создана пользователем Stripe, 31 янв 2009.

Статус темы:
Закрыта.
  1. Stripe

    Stripe

    Регистр.:
    21 окт 2007
    Сообщения:
    164
    Симпатии:
    9
    Добрый день всем.
    Есть скрипт JS:



    Как получить из этого кода следующие данные в массив:
    1:35.4854
    1:0.7446
    1:7.3839

    как это сделать?
     
  2. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Как то так
    PHP:
    <?
    $data "
    kurs[15] = {'src':1, 'dst':35.4854};
    kurs[16] = {'src':1, 'dst':0.7446};
    kurs[17] = {'src':1, 'dst':7.3839}; 
    "
    ;

    preg_match_all("/src':(\d+),(.*?)dst':(.{1,7})}/"$data$m); 

    for(
    $i=0;$i<sizeof($m)-1;$i++)
        {
        print 
    $m[1][$i].":".$m[3][$i]."<br>";
        }
     
    ?>
     
    Stripe и Urch нравится это.
  3. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    То что у тебя в массиве - это уже готовые объекты JS.

    Пройди по массиву и сделай что тебе надо.
    HTML:
    <script>
        x = {'src':1, 'dst':35.4854};
        
        alert(x.src + ':' + x.dst);
    </script>
    Добавлено через 1 минуту
    Так тебе это надо сделать на PHP или JS?
     
  4. Stripe

    Stripe

    Регистр.:
    21 окт 2007
    Сообщения:
    164
    Симпатии:
    9
    Надо сделать на ПХП.
     
  5. skabbit

    skabbit Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    88
    Симпатии:
    1
    у тебя задача распарсить это дело? или же эт твой движек и ты можешь менять js?
     
  6. duomax

    duomax Постоялец

    Регистр.:
    27 ноя 2006
    Сообщения:
    93
    Симпатии:
    15
    можно просто:

    $text = str_replace("kurs[15] = {'src':","",$text);
    $text = str_replace(", 'dst'","",$text);
    $text = str_replace("};","",$text);
     
    Stripe нравится это.
Статус темы:
Закрыта.