以下是js 读取歌词文件解析的方法
<script type="text/javascript">
/* 输出歌词信息 webURL 是 歌词存放的路径 或者歌词下载的路径 */
function ajaxGetHTML(webURL) {
var url = webURL;
if (url == "") url = document.getElementById("xurl").value;
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {}
}
if (!xmlhttp) xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
var s = xmlhttp.responseText;
// 去除文件中已 <开头 >结尾的所有文本内容
s =s.replace(/<.*?>/g,"");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/;/g, "<br>");
/* s = s.replace(/<\/?.+?>/g,"<br/>"); 空格 */
s = s.replace(/[\r\n]/g, "<br/>");
alert(s);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
</script>
这里对js 的 replace 方法总结一下
1、replace的语法是 【字符串】.replace(【正则表达式】,"替换的字符") 这个是替换单个 匹配到的字符
如: " hello word".replace(o,"") 得到的结果会是 hell woed 第二个字符不会被替换到
2、 在js 中是没有 replaceAll这个方法的 所以还得用正则 【字符串】.replace(/【正则表达式】/g,"替换的字符")
如: " hello word".replace(/o/g,"") 得到的结果会是 hell wed
3、这里有两个可能会用到的正则
/[\r\n]/g
这个是匹配所有的 换行字符
/<\/?.+?>/g
这个是匹配所有的 空格字符
ps:这里是以纯文本的方式来解析歌词文件,并不是像播放那样解析。