87,904
社区成员
发帖
与我相关
我的任务
分享
var str='<body bgColor="#f98405" background="" style="font-size:10pt;font-family:NSimSun;margin:2px;"><div>正文</div></body>'
//应该这样啊
while(tmp =reg.exec(str_attr)) {
attrs[tmp[1]] = tmp[3];
str_attr=RegExp.rightContext;
}
<script>
var str='<body bgColor="#f98405" background="" style="font-size:10pt;font-family:NSimSun;margin:2px;"><div>正文</div></body>'
var mats = str.match(/<body([^>]*)>(.*?)<\/body>/);
var text = mats[2];
var str_attr = mats[1];
var reg = /(\w+)\s*=\s*(["']?)(.*?)\2/g, tmp, attrs = {};
while(tmp =reg.exec(str_attr)) {
attrs[tmp[1]] = tmp[3];
}
console.log(text);
console.log(attrs);
console.log(attrs.bgColor);
</script>
window.onload = function () {
var rg = new RegExp("^<body([^<]*)>(.*)</body>$", "i"),
rgAtt = new RegExp("([a-z]+)\\s*=\\s*([\"'])([^\"']*)\\2", "i");
var str = '<body bgColor="#f98405" background="" style="font-size:10pt;font-family:NSimSun;margin:2px;"><div>正文</div></body>';
var match = rg.exec(str);
if (match && match.length == 3) {
//ok
var attStr = match[1],
contentHtml = match[2],
divC = document.getElementById("c");
divC.appendChild(document.createTextNode("内容:\n" + contentHtml + "\n\n属性:\n"));
while (rgAtt.test(attStr)) {
divC.appendChild(document.createTextNode(RegExp.$1 + " : " + RegExp.$3 + "\n"));
attStr = RegExp.rightContext;
}
}
}