效果图:代码如下: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条评论232啊 Lv.1 回复
江西省南昌市 电信
sun展乐 Lv.1 回复
吧吧吧吧吧啊
山东省青岛市 联通
小来 Lv.1
Safari 15.1
Mac OS X 10.15.6 回复
牛逼
香港 北京康盛新创科技有限责任公司
爱忘事的小家伙 Lv.1 回复
哈
江苏省 移动
爱忘事的小家伙 Lv.1 回复
看看
江苏省 移动
a' 索尼克 Lv.1 回复
感谢分享
山东省青岛市 移动
pony Lv.2
Chrome 91.0.4472.77
Windows 回复
妙妙妙妙妙妙妙妙妙妙妙妙妙妙妙妙妙妙妙
贵州省黔东南州 电信
浅魄云(6xi.top)j2zy.cn Lv.1
Chrome 88.0.4324.93
Windows 回复
广东省深圳市 联通
hhhd Lv.1 回复
可以用?
福建省厦门市 联通
452 Lv.1 回复
看看
河北省石家庄市 移动