效果图:代码如下: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
QQbrowser
iPhone iOS 15.4.1 回复
陕西省榆林市 电信
钉钉 Lv.1
Chrome 94.0.4606.71
Windows 回复
感谢楼主
,好人一生平安
陕西省安康市 移动
699673 Lv.1
Chrome 90.0.4430.210
Android 11 回复
哥哥
河南省郑州市 移动
17922991@qq.com Lv.1
Chrome 92.0.4515.131
Android 11 回复
给哈狗和高后给
广东省广州市 联通
哈哈啊 Lv.1
Chrome 92.0.4515.131
Android 11 回复
揉揉揉揉揉揉
广东省广州市 联通
哈哈 Lv.1
Chrome 92.0.4515.131
Android 11 回复
好的
广东省广州市 联通
5456 Lv.1
Sogou Explorer
Windows 回复
非常帮的【【asdlad
江苏省南京市 移动
平台搭建【南风】 Lv.1
Chrome 86.0.4240.198
Windows 回复
山东高法说得够
重庆市 联通
dsdsdsdsd Lv.1
Chrome 107.0.0.0
Windows 回复
dsds大苏打实打实大苏打
福建省福州市 电信
詞ci Lv.1
Sogou Explorer
Windows 回复
感谢楼主
,好人一生平安
北京市 移动