load($file); $danmaku_items = $document->getElementsByTagName("d"); $result = []; /** @var \DOMNode $item */ foreach ($danmaku_items as $item) { $paramsNode = $item->attributes->getNamedItem("p"); $param_list = mb_split(",", $paramsNode->value); if (sizeof($param_list) < 7) { throw new \Exception("弹幕格式异常"); } $userNode = $item->attributes->getNamedItem("user"); $result[] = [ "from" => $userNode->value, "from_mid" => $param_list[6], "content" => $item->textContent, "created_at" => intval($param_list[4])/1000, ]; } return $result; } }