diff --git a/app/Module/Extranet.php b/app/Module/Extranet.php index de4958c4b..30164c733 100644 --- a/app/Module/Extranet.php +++ b/app/Module/Extranet.php @@ -218,47 +218,57 @@ class Extranet case "it": $data = self::curl('http://vvhan.api.hitosea.com/api/hotlist?type=itNews', 3600); if ($data = Base::json2array($data)) { - $array = array_map(function ($item, $key) { - $content = "
" . ($key + 1) . ". {$item['title']}
"; - if ($item['desc']) { - $content .= "{$item['desc']}
"; + $i = 1; + $array = array_map(function ($item) use (&$i) { + if ($item['title'] && $item['desc']) { + return "" . ($i++) . ". {$item['title']}
{$item['desc']}
"; + } else { + return null; } - return $content; - }, $data['data'], array_keys($data['data'])); + }, $data['data']); + $array = array_values(array_filter($array)); if ($array) { array_unshift($array, "{$data['title']}({$data['update_time']})
"); + $text = implode("", $array); } - $text = implode("
", $array); } break; case "36ke": $data = self::curl('http://vvhan.api.hitosea.com/api/hotlist?type=36Ke', 3600); if ($data = Base::json2array($data)) { - $array = array_map(function ($item, $key) { - $content = "
" . ($key + 1) . ". {$item['title']}
"; - if ($item['desc']) { - $content .= "{$item['desc']}
"; + $i = 1; + $array = array_map(function ($item) use (&$i) { + if ($item['title'] && $item['desc']) { + return "" . ($i++) . ". {$item['title']}
{$item['desc']}
"; + } else { + return null; } - return $content; - }, $data['data'], array_keys($data['data'])); + }, $data['data']); + $array = array_values(array_filter($array)); if ($array) { array_unshift($array, "{$data['title']}({$data['update_time']})
"); + $text = implode("", $array); } - $text = implode("
", $array); } break; case "60s": $data = self::curl('http://vvhan.api.hitosea.com/api/60s?type=json', 3600); if ($data = Base::json2array($data)) { - $array = array_map(function ($item, $key) { - return "
" . ($key + 1) . ". {$item}
"; - }, $data['data'], array_keys($data['data'])); + $i = 1; + $array = array_map(function ($item) use (&$i) { + if ($item) { + return "" . ($i++) . ". {$item}
"; + } else { + return null; + } + }, $data['data']); + $array = array_values(array_filter($array)); if ($array) { array_unshift($array, "{$data['name']}({$data['time'][0]})
"); + $text = implode("", $array); } - $text = implode("
", $array); } break;