正则表达式应用之提炼百度歌词的实现代码


这里的歌词一般都是LRC格式的,是有时间的,如果想用作文本没有时间的话,文本里面的时间段就会成为了干扰障碍。
  下面是一首歌的Lrc歌词


代码如下:

[ti:听说]
[ar:刘若英]
[al:我的失败与伟大]
[by:活在当下]
[00:01.22]刘若英 - 听说
[00:03.79]专辑名称:听说?
[00:06.73]作词:葛大为 作曲:林健华
[00:09.74]
[00:10.79]lrc制作:卜超 QQ:6313827
[00:25.13]
[00:27.08]听说 你身边有新面孔
[00:32.04]听说 你不再寂寞
[00:35.33]听说 你提起我
[00:38.73]我过得不错 忙碌中还有感动
[00:45.38]尝试爱过几个人 面对爱 也诚实许多
[00:52.86]只能被听说 安排着
[00:56.91]关于你我的 对的或错的
[00:60.00]两个人 曾经相似的 却以为都变了
[01:06.18]只能靠听说 各自爱着
[01:10.24]不需要证明 当时决定是错的
[01:13.31]想着联络 不如心底远远问候
[01:19.56]最美丽 莫过于听说你 还回忆
[01:24.80]其实我也感激 当我听说你还相信爱情
[01:45.82]
[01:47.83]听说 我巷口你常经过
[01:52.76]听说 你厌倦寂寞
[01:56.10]听说 你问候我
[01:59.52]我过得不错 忙碌中还有感动
[02:06.04]尝试爱过几个人 面对爱 也诚实许多
[02:52.11][02:12.94]
[02:52.67][02:13.35]只能被听说 安排着
[02:56.63][02:17.26]关于你我的 对的或错的
[02:59.77][02:20.32]两个人 曾经相似的 却以为都变了
[03:06.11][02:26.48]只能靠听说 各自爱着
[03:10.07][02:30.56]不需要证明 当时决定是错的
[03:13.10][02:33.62]想着联络 不如心底远远问候
[03:19.31][02:39.88]最美丽 莫过于听说你 还回忆
[03:24.58][02:45.12]其实我也感激 当我听说你还相信爱情
[03:33.66]
[03:36.56]听说 我身边有新面孔
[03:42.53]听说 你祝福了我
[03:52.39]
[03:53.93]lrc制作:卜超 QQ:6313827

这里的时间段很有规律,一般以“[”开头以“]”结尾,有重复的时候就会出现两段时间段。第一时间想到了正则表达式,于是就用正则表达式写了如下的程序


代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<?php
$contents2 = "";
$filename = "html/tingshuo.lrc";
$contents = file_get_contents($filename);
echo nl2br($contents);
echo "<br /><br />";
preg_match_all("/\][^\[].*+/",$contents,$array);
$numArray = count($array[0]);
for($i = 0;$i<$numArray;$i++){
$contents2.=trim($array[0][$i],"\]");//去除左边的“]”
$contents2.="<br />";
}
echo "<br /><h2>这是处理后的歌词记录</h2><br />";
echo $contents2;
echo "<br /><h2>这是未处理的歌词记录</h2><br />";
echo "<br />";
echo "<pre>";
print_r($array);
echo "</pre>";
?>
</body>
</html>

于是乎,终于看见一线完美的喜悦——


代码如下:

[ti:听说]
[ar:刘若英]
[al:我的失败与伟大]
[by:活在当下]
[00:01.22]刘若英 - 听说
[00:03.79]专辑名称:听说?
[00:06.73]作词:葛大为 作曲:林健华
[00:09.74]
[00:10.79]lrc制作:卜超 QQ:6313827
[00:25.13]
[00:27.08]听说 你身边有新面孔
[00:32.04]听说 你不再寂寞
[00:35.33]听说 你提起我
[00:38.73]我过得不错 忙碌中还有感动
[00:45.38]尝试爱过几个人 面对爱 也诚实许多
[00:52.86]只能被听说 安排着
[00:56.91]关于你我的 对的或错的
[00:60.00]两个人 曾经相似的 却以为都变了
[01:06.18]只能靠听说 各自爱着
[01:10.24]不需要证明 当时决定是错的
[01:13.31]想着联络 不如心底远远问候
[01:19.56]最美丽 莫过于听说你 还回忆
[01:24.80]其实我也感激 当我听说你还相信爱情
[01:45.82]
[01:47.83]听说 我巷口你常经过
[01:52.76]听说 你厌倦寂寞
[01:56.10]听说 你问候我
[01:59.52]我过得不错 忙碌中还有感动
[02:06.04]尝试爱过几个人 面对爱 也诚实许多
[02:52.11][02:12.94]
[02:52.67][02:13.35]只能被听说 安排着
[02:56.63][02:17.26]关于你我的 对的或错的
[02:59.77][02:20.32]两个人 曾经相似的 却以为都变了
[03:06.11][02:26.48]只能靠听说 各自爱着
[03:10.07][02:30.56]不需要证明 当时决定是错的
[03:13.10][02:33.62]想着联络 不如心底远远问候
[03:19.31][02:39.88]最美丽 莫过于听说你 还回忆
[03:24.58][02:45.12]其实我也感激 当我听说你还相信爱情
[03:33.66]
[03:36.56]听说 我身边有新面孔
[03:42.53]听说 你祝福了我
[03:52.39]
[03:53.93]lrc制作:卜超 QQ:6313827
这是处理后的歌词记录
刘若英 - 听说
专辑名称:听说?
作词:葛大为 作曲:林健华
lrc制作:卜超 QQ:6313827
听说 你身边有新面孔
听说 你不再寂寞
听说 你提起我
我过得不错 忙碌中还有感动
尝试爱过几个人 面对爱 也诚实许多
只能被听说 安排着
关于你我的 对的或错的
两个人 曾经相似的 却以为都变了
只能靠听说 各自爱着
不需要证明 当时决定是错的
想着联络 不如心底远远问候
最美丽 莫过于听说你 还回忆
其实我也感激 当我听说你还相信爱情
听说 我巷口你常经过
听说 你厌倦寂寞
听说 你问候我
我过得不错 忙碌中还有感动
尝试爱过几个人 面对爱 也诚实许多
只能被听说 安排着
关于你我的 对的或错的
两个人 曾经相似的 却以为都变了
只能靠听说 各自爱着
不需要证明 当时决定是错的
想着联络 不如心底远远问候
最美丽 莫过于听说你 还回忆
其实我也感激 当我听说你还相信爱情
听说 我身边有新面孔
听说 你祝福了我
lrc制作:卜超 QQ:6313827
这是未处理的歌词记录
Array
(
[0] => Array
(
[0] => ]
[1] => ]
[2] => ]
[3] => ]
[4] => ]刘若英 - 听说
[5] => ]专辑名称:听说?
[6] => ]作词:葛大为 作曲:林健华
[7] => ]
[8] => ]lrc制作:卜超 QQ:6313827
[9] => ]
[10] => ]听说 你身边有新面孔
[11] => ]听说 你不再寂寞
[12] => ]听说 你提起我
[13] => ]我过得不错 忙碌中还有感动
[14] => ]尝试爱过几个人 面对爱 也诚实许多
[15] => ]只能被听说 安排着
[16] => ]关于你我的 对的或错的
[17] => ]两个人 曾经相似的 却以为都变了
[18] => ]只能靠听说 各自爱着
[19] => ]不需要证明 当时决定是错的
[20] => ]想着联络 不如心底远远问候
[21] => ]最美丽 莫过于听说你 还回忆
[22] => ]其实我也感激 当我听说你还相信爱情
[23] => ]
[24] => ]听说 我巷口你常经过
[25] => ]听说 你厌倦寂寞
[26] => ]听说 你问候我
[27] => ]我过得不错 忙碌中还有感动
[28] => ]尝试爱过几个人 面对爱 也诚实许多
[29] => ]
[30] => ]只能被听说 安排着
[31] => ]关于你我的 对的或错的
[32] => ]两个人 曾经相似的 却以为都变了
[33] => ]只能靠听说 各自爱着
[34] => ]不需要证明 当时决定是错的
[35] => ]想着联络 不如心底远远问候
[36] => ]最美丽 莫过于听说你 还回忆
[37] => ]其实我也感激 当我听说你还相信爱情
[38] => ]
[39] => ]听说 我身边有新面孔
[40] => ]听说 你祝福了我
[41] => ]
[42] => ]lrc制作:卜超 QQ:6313827
)
)

大功告成,正则表达式处理这类问题真的很好用,若有对本问更好的建议,欢迎留言

(0)

相关推荐

  • 正则表达式应用之提炼百度歌词的实现代码

    这里的歌词一般都是LRC格式的,是有时间的,如果想用作文本没有时间的话,文本里面的时间段就会成为了干扰障碍. 下面是一首歌的Lrc歌词 复制代码 代码如下: [ti:听说] [ar:刘若英] [al:我的失败与伟大] [by:活在当下] [00:01.22]刘若英 - 听说 [00:03.79]专辑名称:听说? [00:06.73]作词:葛大为 作曲:林健华 [00:09.74] [00:10.79]lrc制作:卜超 QQ:6313827 [00:25.13] [00:27.08]听说 你身边有

  • 正则表达式判定保留2位小数的实现代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jquery.min.js" ></script> </head> &l

  • 正则表达式初运用之认证界面的实现代码

    先给大家展示下效果图: 关键代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="d

  • 基于Jquery实现仿百度百科右侧导航代码附源码下载

    先给大家展示下效果图,看看是不是亲想要实现的效果,如果还满意的话请查看本文详情,同时大家也可以下载源码哦. 效果图: 效果展示  源码下载 代码说明: 仿百度百科右侧导航代码jquery插件,这个仿百科右侧导航js代码,在很久以前就像搞个用了,因为这个导航特别适合长篇文档使用,花了半天时间写了这个仿百科导航插件,不过和百度百科比起来还是有点弱,没有实现右侧导航区域滚动的功能,如果您的文档不是超级变态长,应该够用. 如果你的导航超级长,可能要用到侧边导航页可以滚动,一般情况下还是用不到,等过些时候

  • Vue 仿百度搜索功能实现代码

    无上下选择 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jsonp</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, us

  • jQuery实现的仿百度分页足迹效果代码

    本文实例讲述了jQuery实现的仿百度分页足迹效果代码.分享给大家供大家参考,具体如下: 这是一个类似于百度的分页足迹效果,基于jquery,原理就是所有为奇数的足迹元素给不一样的样式而已,其它的非奇数元素就按默认的样式. 参数说明: obj为所有奇数元素 even当前所要点击触发事件 bg为足迹元素 active_bg为点击后的足迹背景 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-f-baidu-page-style-code

  • python自动保存百度盘资源到百度盘中的实例代码

    本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中 全部代码如下: # -*-coding:utf8-*- # encoding:utf-8 import time from selenium import webdriver browser = webdriver.Chrome() def loginphont(): browser.get("https://pan.baidu.com

  • JS 正则表达式验证密码、邮箱格式的实例代码

    遗憾的是博客内容不允许包含js代码,不能在线测试,就只上代码了 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Regular Expression test</title> </head> <body> 用户名:(4-16位,字母.下划线.数字,减号) <br/> <input type="

  • ASP 百度主动推送代码范例

    范例代码 function BytesToBstr(body,Cset)     dim objstream  set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1  objstream.Mode =3  objstream.Open  objstream.Write body  objstream.Position = 0  objstream.Type = 2  objstream.Charse

  • jQuery使用jsonp实现百度搜索的示例代码

    项目实现:还原百度搜索功能: 项目原理:利用json回调页面传参; 什么是jsonp:就是利用<script>标签的src地址,让目标页面回调本地页面,并且带入参数,也解决了跨域问题: 代码如下: html(css代码不提供) <div class="box"> <input type="text" /> <div class="ssk"></div> <button>×&l

随机推荐