Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как декодировать сериализованный массив?
Форумы портала PHP.SU » » XML и его обработка » Как декодировать сериализованный массив?

Страниц (1): [1]
 

1. Koc - 22 Июня, 2013 - 18:00:34 - перейти к сообщению
Всем доброго времени суток,

Отправляю запрос на XML-RPC сервер и в ответ получаю вот такое значение

PHP:
скопировать код в буфер обмена
  1. (
  2.     [positions] => a:1:{i:0;a:2:{s:7:"keyword";s:14:"Êëþ÷åâîå ñëîâî";s:10:"freq_query";s:15:"×àñòîòà çàïðîñà";}}
  3. )


Подскажите как такой массив в нормальный конвертировать?

Сайт сделан на CodeIgniter, все запросы и ответы получаю через его встроенную библиотеку XML-RPC, вроде и функция есть которая должна конвертировать сериализованный массив в нормальный, но она не работает почему-то.

Заранее Спасибо!
2. Мелкий - 22 Июня, 2013 - 18:05:57 - перейти к сообщению
Это сериализованный вид.
unserialize, соответственно.
3. Koc - 22 Июня, 2013 - 18:12:09 - перейти к сообщению
Мелкий пишет:
Это сериализованный вид.
unserialize, соответственно.


Пробывал, вот такую ошибку выдает:

Цитата:
A PHP Error was encountered
Severity: Notice
Message: unserialize() [function.unserialize]: Error at offset 14 of 301 bytes
4. caballero - 22 Июня, 2013 - 18:42:26 - перейти к сообщению
так там строка покурочена - через htmlspecialchars что ли пропущена?
5. Koc - 22 Июня, 2013 - 19:40:40 - перейти к сообщению
caballero пишет:
так там строка покурочена - через htmlspecialchars что ли пропущена?


Чесно говоря не знаю, мне такой ответ возвращяет XML-сервер, на который делаю запрос.
Попробывал, обработать строку вот этим html_entity_decode, перед тем как делать unserialize.
6. Мелкий - 22 Июня, 2013 - 20:13:18 - перейти к сообщению
caballero пишет:
так там строка покурочена - через htmlspecialchars что ли пропущена?

Да, похоже на то.
Результат, впрочем, всё равно.... странный. Как по раскодированному из мнемоник виду, так и по несоответствию числа мнемоник заявленному числу символов в сериализованной строке.

Нормальных API с тем же функционалом нет?
Попробуйте поиграться с html_entity_decode
7. Koc - 22 Июня, 2013 - 20:31:10 - перейти к сообщению
Вроде все получилось..

Мелкий пишет:
Нормальных API с тем же функционалом нет?

Это API с сайта seolib.ru, я для своего проекта который там хочу снимать позиции прям с сайта, чтобы к ним не заходить постоянно!

вот если что инструкция по их API http://www[dot]seolib[dot]ru/script/webinterface/
но они там предлагают поставить свой скрипт и через него все делать, как там в примерах, но зачем мне их скрипт если в CodeIgniter есть встроенная функция для работы с XML

 

Powered by ExBB FM 1.0 RC1