Вывод переменных из js

Dukuй

Щас сменю себе статус
Регистрация
24 Фев 2009
Сообщения
308
Реакции
190
Подскажите пожалуйста разобраться.
Имеется файл JS Для просмотра ссылки Войди или Зарегистрируйся который обновляется каждые 5 минут.
Собственно как вывести его содержимое(переменные) в HTML или PHP?

Пока приходит в голову только вот это
PHP:
<?php
$url = file_get_contents("http://img.combats.com/auction/dump.js");
$data = json_decode($url);
$arr = array();


    foreach ($data->auction_dump as $key=>$value) {
                $arr[$key]['name'] = $value->name;
                $arr[$key]['txt'] = $value->txt;
                $arr[$key]['id'] = $value->id;
        }


$count = count($arr);
for ($i = 0; $i < $count; $i++) {
echo $arr[$i]['name'];
echo $arr[$i]['txt'];
echo $arr[$i]['id'];
}
?>

Но ругается на Warning: Invalid argument supplied for foreach() in /home/htdocs/www/test/index.php on line 7

Мне кажется, ошибка именно в
foreach ($data->auction_dump as $key=>$value)

По конкретней опишите, можно вывести разными способами, самый элементарный это вывести в блок по id.
Вот как раз вывести в блок по ID и нужно
 
Последнее редактирование модератором:
это с первого взгляда на json похоже
гугли в сторону json_decode true
или прога найми, тут есть такие
 
По конкретней опишите, можно вывести разными способами, самый элементарный это вывести в блок по id.
 
Подскажите пожалуйста разобраться.
Имеется файл JS Для просмотра ссылки Войди или Зарегистрируйся который обновляется каждые 5 минут.
Собственно как вывести его содержимое(переменные) в HTML или PHP?
Если хочешь сам разрулить, тогда читай file_get_contents - Для просмотра ссылки Войди или Зарегистрируйся и с помощью CRON каждые 5 минут запускать этот php файл, в самом файле код js с циклом, хз чего тебе нужно. Для начала тебе массив данных(того фалйа который ты привел) нужно перебрать циклом а в цикле по условиям задать свои правила и записать данные(или массив данных) в переменную и выводить, а крон будет делать это каждые 5 минут, т.е обновлять данные
 
а чо яваскриптом бы не выводить? возьми с донора вывод, а эту часть подкачивай
или там комбайн автоматизируешь
 
Вообще, это не json, а JS объект.

json_decode по умолчанию возвращает не массив, а объект, поэтому надо ставить параметр assoc в true, если хотите юзать как array. В вашей реализации вы просто скачиваете файл, а надо регуляркой вырезать содержимое.
Короче, вот код, смотрите сами

Код:
<?php

$html = file_get_contents('http://img.combats.com/auction/dump.js');
$json = json_decode(str_replace('var auction_dump=', '', $html));

var_dump($json);

?>
 
Вообще, это не json, а JS объект.

json_decode по умолчанию возвращает не массив, а объект, поэтому надо ставить параметр assoc в true, если хотите юзать как array. В вашей реализации вы просто скачиваете файл, а надо регуляркой вырезать содержимое.
Короче, вот код, смотрите сами

Код:
<?php

$html = file_get_contents('http://img.combats.com/auction/dump.js');
$json = json_decode(str_replace('var auction_dump=', '', $html));

var_dump($json);

?>
Мне необходимо сделать таблицу из содержимого. В вашей версии фаил просто выводится полностью как есть
 
блин возьми кисе дай денег и скажи как тебе надо и норм будет бро
 
Мне необходимо сделать таблицу из содержимого. В вашей версии фаил просто выводится полностью как есть
"var_dump($json)" человек указал в качестве примера, нужные манипуляции с объектом вы можете уже производить сами, например разобрать так же через foreach, как вы пытались выше. Только обратите внимание, нужные вам данные появляются не с нулевого элемента, а с первого
PHP:
$html = file_get_contents('http://img.combats.com/auction/dump.js');
$json = json_decode(str_replace('var auction_dump=', '', $html));
$arr = array();
foreach ($json as $key=>$value) {
    if($key > 0)
        {
            $arr_key = $key - 1;
            $arr[$arr_key]['name'] = $value->name;
            $arr[$arr_key]['txt'] = $value->txt;
            $arr[$arr_key]['id'] = $value->_auc->id;
        }
}
$count = count($arr);
for ($i = 0; $i < $count; $i++) {
    echo $arr[$i]['name'].' ';
    echo $arr[$i]['txt'].' ';
    echo $arr[$i]['id'].'<br>';
}
тот же вариант, но без глупого перебора массива (как и сказал kise97, с использованием assoc = true, т.е. получаем сразу массив, вместо объекта)
PHP:
$html = file_get_contents('http://img.combats.com/auction/dump.js');
$json = json_decode(str_replace('var auction_dump=', '', $html), true);

foreach ($json as $key=>$value) {
    if($key > 0)
        {
            echo $value['name'].' ';
            echo $value['txt'].' ';
            echo $value['_auc']['id'].'<br>';
        }
}
 
Последнее редактирование:
В общем получилось вывести все данные в таблице:
Для просмотра ссылки Войди или Зарегистрируйся
Появился еще такой вопросец, как прикрутить туда поиск по любому ключевому слову которое находится в таблице.
Подскажите, в каком направлении двигаться?
 
Назад
Сверху