json_decode出错,会php的高手告诉我错误的地方怎么写?谢谢

<?php
//$id = $_GET['id'];
$url="http://d532519556-1259225818.cos.ap-chengdu.myqcloud.com/92580.json";
$info=file_get_contents($url);
$address=json_decode($info,true);
if(empty($address)){ exit('接口返回address数据格式错误'); }
$json=$address["live"][0]["urllist"];
if(empty($json)){ exit('接口返回json数据格式错误'); }
echo $json;
//header('location:'.$address);
?>

抓取网址中内容的视频链接,如图:
图片说明
现在执行代码时候,报错“接口返回address数据格式错误”,但是不知道“$address=json_decode($info,true);”
这句哪里错误?请各位php高手告诉我怎么写?谢谢!

  1. 网页编码不是UTF-8
  2. 解决方法: 先转换编码,替换一些特殊字符,在进行json解析.

    $url="http://d532519556-1259225818.cos.ap-chengdu.myqcloud.com/92580.json";
        $text = file_get_contents($url);
        define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
        define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
        define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
        define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
        define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
        $first2 = substr($text, 0, 2);
        $first3 = substr($text, 0, 3);
        $first4 = substr($text, 0, 3);
        $encodType = "";
        if (UTF8_BOM == $first3) {
            $encodType = 'UTF-8 BOM';
        } else if (UTF32_BIG_ENDIAN_BOM == $first4) {
            $encodType = 'UTF-32BE';
        } else if (UTF32_LITTLE_ENDIAN_BOM == $first4) {
            $encodType = 'UTF-32LE';
        } else if (UTF16_BIG_ENDIAN_BOM == $first2) {
            $encodType = 'UTF-16BE';
        } else if (UTF16_LITTLE_ENDIAN_BOM == $first2) {
            $encodType = 'UTF-16LE';
        }
    
        //下面的判断主要还是判断ANSI编码的·
        if ('' == $encodType) {
            //即默认创建的txt文本-ANSI编码的
            $content = iconv("GBK", "UTF-8", $text);
        } else if ('UTF-8 BOM' == $encodType) {
            //本来就是UTF-8不用转换
            $content = $text;
        } else {
            //其他的格式都转化为UTF-8就可以了
            $content = iconv($encodType, "UTF-8", $text);
        }
        $address=json_decode( preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $content), true );
        if(empty($address)){ exit('接口返回address数据格式错误'); }
        $json=$address["live"][0]["urllist"];
        if(empty($json)){ exit('接口返回json数据格式错误'); }
        echo $json;die;