Добрый день.Попытка разобрать текст из тега «script» и преобразовать его в «JSON».Таким образом, переменная $ arSlider отлично конвертируется в json, но $ arOffers не конвертируется, а выводится строка.Есть комментарии в коде.Что я делаю не так?
Пример значения $arOffers = {"1441":{"ARTIKUL":"01001","PROPS":[{"VALUE":"Клинок - Полированный","NAME":"Покрытие\\цвет клинка "},{"VALUE":"Рукоять - Эластрон","NAME":"Рукоятка"},{"VALUE":"Чехол - Натуральная кожа со вставкой из АБС пластика","NAME":"Чехол"}]},"1442":{"ARTIKUL":"01003","PROPS":[{"VALUE":"Клинок - Стоунвош черный","NAME":"Покрытие\\цвет клинка "},{"VALUE":"Рукоять - Эластрон","NAME":"Рукоятка"},{"VALUE":"Чехол - Натуральная кожа со вставкой из АБС пластика","NAME":"Чехол"}]}}
include('/inc/simple_html_dom.php');
$url = 'Already to nothing, the problem is solved!';
$html = file_get_html($url);
foreach ($html->find('script') as $el) {
if (stristr($el->outertext, "arSlider") !== false) {
$script = str_replace("'", '"', trim(stristr($el->outertext, "arSlider")));
$script = explode(" arOffers = ", $script);
$arSlider = str_replace("arSlider = ", "", $script[0]);
$arSlider = str_replace(";", "", $arSlider);
$arOffers = str_replace("; ", "", $script[1]);
$arOffers = str_replace("</script>", "", $arOffers); //Add
print_r(json_decode($arSlider));
print_r(json_decode($arOffers));
//It's working! )))
}
}
ОБНОВЛЕНИЕ
Проблема показала мнеvar_dump(json_encode($ arOffers));
В строке не показывался закрывающий тег </script>
Добавлена замена и все заработало!)))