效果图:代码如下: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条评论锦.一诺 Lv.1
Android Webkit 4.0
Android 11 回复
666厉害
广东省中山市 电信
柒云吖 Lv.1
Chrome 109.0.0.0
Windows 回复
的撒大大
湖南省 电信
^kitten^2333 Lv.1
Android Webkit 4.0
Android 12 回复
哈哈哈
浙江省温州市 移动
a情玖 Lv.1
Chrome 109.0.0.0
Windows 回复
感谢楼主
,好人一生平安
广东省广州市 电信
五彩情人 Lv.1
Chrome 96.0.4664.104
Android 11 回复
你好
江苏省南京市 联通
546456 Lv.1
Chrome 86.0.4240.198
Windows 回复
不错
广东省广州市 电信
寒.2609493436 Lv.1
Chrome 97.0
Android 13 回复
额额
陕西省西安市 电信
. Lv.1
Chrome 86.0.4240.198
Windows 回复
江苏省南通市 南通供销学校
zhaohui Lv.1
Chrome 99.0.4844.88
Windows 回复
中国 移动
安妮理解 Lv.1
Chrome 99.0.4844.
Android 10 回复
我来了骨灰盒
陕西省宝鸡市 电信