json_decode

M9
На сайте с 15.05.2014
Offline
79
1233

Как декодировать строку в json в мае примере:


function parser($p1,$p2,$p3){
$num1 = strpos($p1,$p2);
if($num1 === false) return 'ошибка!';
$num2 = substr($p1,$num1);
return strip_tags(substr($num2, 0, strpos($num2,$p3)));
}
function taobaopars($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_COOKIESESSION, true );
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0');
$out = curl_exec($curl);
curl_close($curl);
return $out;
}
echo parser(taobaopars('https://world.taobao.com/search/json.htm?json=on&_input_charset=utf-8&navigator=all&module=page&real_post_fee=0~0.01&cat=50067695&is1111=0&callback=__jsonp_cb&_=1490110336876'),'{"abtestParams"',')}');
totamon
На сайте с 12.05.2007
Offline
437
#1

в мае так же, как и в марте... откройте для себя уже php.net

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
M9
На сайте с 15.05.2014
Offline
79
#2

Только при функции

iconv("KOI8-U", "UTF-8",$page)
декодируется а надо так как есть там китайские слова.
dimsog
На сайте с 08.08.2011
Offline
149
#3

mega94, ну если у вас с этой функцией декодируется, то в чем проблема?:)

ihor vps -> ihc.ru
M9
На сайте с 15.05.2014
Offline
79
#4
dimsog:
mega94, ну если у вас с этой функцией декодируется, то в чем проблема?:)

Слова декодируется в какие-то не понятные символы

GL
На сайте с 26.11.2016
Offline
7
#5

юзаете mb_convert_encoding($getJson, 'UTF-8', 'GB2312');

примерно так:


$url = 'https://world.taobao.com/search/json.htm?json=on&_input_charset=utf-8&navigator=all&module=page&real_post_fee=0~0.01&cat=50067695&is1111=0&callback=__jsonp_cb&_=1490110336876';
$getJson = file_get_contents($url);

echo mb_convert_encoding($getJson, 'UTF-8', 'GB2312');

в вашем случаи в функцию добавте

после

curl_close($curl);

это

$out = mb_convert_encoding($out, 'UTF-8', 'GB2312');

или если короче можно так

$out = mb_convert_encoding(curl_exec($curl), 'UTF-8', 'GB2312');

вместо $out = curl_exec($curl);

Генератор тубов (/ru/forum/969727)
M9
На сайте с 15.05.2014
Offline
79
#6
GarryLa:
юзаете mb_convert_encoding($getJson, 'UTF-8', 'GB2312');

примерно так:


$url = 'https://world.taobao.com/search/json.htm?json=on&_input_charset=utf-8&navigator=all&module=page&real_post_fee=0~0.01&cat=50067695&is1111=0&callback=__jsonp_cb&_=1490110336876';
$getJson = file_get_contents($url);

echo mb_convert_encoding($getJson, 'UTF-8', 'GB2312');


в вашем случаи в функцию добавте
после
curl_close($curl);
это
$out = mb_convert_encoding($out, 'UTF-8', 'GB2312');

или если короче можно так
$out = mb_convert_encoding(curl_exec($curl), 'UTF-8', 'GB2312');
вместо $out = curl_exec($curl);

Не не помогло, в исходные слова не кодируется

GL
На сайте с 26.11.2016
Offline
7
#7

ваш код:


function parser($p1,$p2,$p3){
$num1 = strpos($p1,$p2);
if($num1 === false) return 'ошибка!';
$num2 = substr($p1,$num1);
return strip_tags(substr($num2, 0, strpos($num2,$p3)));
}
function taobaopars($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_COOKIESESSION, true );
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0');
$out = curl_exec($curl);
$out = mb_convert_encoding($out, 'UTF-8', 'GB2312');
curl_close($curl);
return $out;
}
echo parser(taobaopars('https://world.taobao.com/search/json.htm?json=on&_input_charset=utf-8&navigator=all&module=page&real_post_fee=0~0.01&cat=50067695&is1111=0&callback=__jsonp_cb&_=1490110336876'),'{"abtestParams"',')}');

это результат: https://yadi.sk/i/wiD5wOrz3GGNgA

ДП
На сайте с 23.11.2009
Offline
203
#8

Может вопрос не в том, как из json декодировать, а как с китайского перевести?

M9
На сайте с 15.05.2014
Offline
79
#9

странно у меня вот как открывается

---------- Добавлено 23.03.2017 в 11:42 ----------

кодировка файла стоит на utf-8

---------- Добавлено 23.03.2017 в 11:48 ----------

А все разбирался спасибо работает добавил еще:


header('Content-Type: text/html; charset=utf-8');

теперь нормально

tommy-gung
На сайте с 22.11.2006
Offline
287
#10

ахааха

извините, был напуган

Здесь не могла быть ваша реклама

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий