效果图:代码如下:function krc2lrc($krc_content, $glue = "n") {
$enKey = array(64, 71, 97, 119, 94, 50, 116, 71, 81, 54, 49, 45, 206, 210, 110, 105);
$krc_content = substr($krc_content, 4);
$len = strlen($krc_content);
$krc_compress = '';
for ($k = 0; $k < $len; $k++) {
$krc_compress .= chr(ord($krc_content[$k]) ^ $enKey[$k % 16]);
}
$krc_text = gzuncompress($krc_compress);
return $krc_text;
preg_match_all("/[(ar|ti|offset):(.+)]/", $krc_text, $matches);
$lrc_text = implode($glue, $matches[0]) . $glue;
preg_match_all("/[(d{0,8}),(d{0,8})](.+)/", $krc_text, $matches);
unset($krc_text, $krc_compress, $krc_content, $enKey);
if (!empty($matches[1])) {
foreach($matches[1] as $k => $v) {
list($seconds, $millis) = explode('.', $v / 1000);
$lrc_time =
date('i:s', 1388534400 + $seconds) . '.' . substr($millis, 0, 2);
$lrc_cont = preg_replace("/<d{1,8},d{1,8},d{1,8}>/", '', $matches[3][$k]);
$lrc_text .= "[{$lrc_time}]{$lrc_cont}{$glue}";
}
}
return $lrc_text;
}简单的示例:$content = file_get_contents("1.krc");
echo krc2lrc($content,'<br/>');
评论
172条评论1239870891 Lv.1 回复
666666666
江苏省南京市 电信
need login南栀 Lv.1 回复
拿走了XXXX
北京市 移动
need login南栀 Lv.1 回复
拿走了
北京市 移动
miaojiyuan Lv.1 回复
感谢楼主
,好人一生平安
河北省石家庄市 电信
是多少 Lv.1
Chrome 119.0.6045.160
Windows 回复
感谢楼主
,好人一生平安
青海省西宁市 移动
bxs446 Lv.1
Chrome 114.0.5735.289
Windows 回复
感谢楼主
,好人一生平安
中国 移动
哼 Lv.1 回复
新人报道
学习一下
亚太地区
苏宁 Lv.1 回复
广东省东莞市 电信
666 Lv.1 回复
就阿斯大胜靠德
四川省绵阳市 电信
dingxingwo Lv.1 回复
湖北省 电信