Доброго времени суток всем!
Пишу парсер для сайта, кодировка у сайта UTF-8, у моих скриптов аналогичная, идем дальше.. Получаю зашифрованные данные от сайта в виде таких строк
\u0028\u0066\u0075\u006e\
Разбираю их следующим способом
function replace_unicode_escape_sequence($match) {
return mb_convert_encoding(pack('H*', $match[1]), "UTF-8", "auto");
}
$coded = preg_replace_callback('/\\\\u([0-9a-f]{4})/sU', 'replace_unicode_escape_sequence', $coded);
После перекодировки с данным не возможно работать, preg_match() вообще не обращает внимания ни на какие регулярки.. К примеру, после раскодирования на выходе получаю json данные, пробую их декодировать в массив при помощи функции json_decode(), функция мне возвращает NULL то есть нет данных для вывода, хотя если эти самые json данные указать напрямую в скрипте
print_r(json_decode('json строка'));
То они успешно декодируются в нужный мне массив. Пните плиз в правильном направлении, а то уже 2 часа сижу гуглу надоедаю..
Изменил: Антон (01.07.2013 / 19:35)