![](/img/trans.png)
[英]How do I extract the title value from a string using Javascript regexp?
[英]How do I extract a background= value from a string containing HTML in JavaScript?
我有一个包含从另一个页面加载的HTML的字符串,如何使用Javascript从它的body标签中提取background属性?
字符串中的body标签如下所示:
<body onload='init();' background='storage/images/jsb_background.jpg' link='#000000' vlink='#000000' alink='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>
谢谢!
我拼凑了一个正则表达式来执行此操作,它将在data
字符串变量(包含HTML)中搜索body
标签的background
属性。 正则表达式从这里被盗,并做了一些修改。 我对regex还是很陌生,所以我想它可以更流畅地完成,但仍然可以完成工作
var data = /* your html */;
var regex = /body.*background=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?/;
var result = regex.exec(data);
if (result.length > 1) {
var background = result[1];
alert(background);
}
else {
//no match
}
这是我的回答,因为我了解您的问题(给出的详细信息有限且没有代码示例)...
这也假设您的HTML字符串是有效的html ...
var html = yourString;
var background = "";
background = $(html).find("body").attr("background");
如果您实际上没有将HTML字符串附加到DOM,则可能没有一种简单易行的jQuery方式来做到这一点。 您可能需要手动解析出background属性。
var html = yourString;
var charStart = html.indexOf("<body");
var charEnd = html.indexOf(">", charStart);
var bodyTag = html.substring(charStart,charEnd+1);
charStart = bodyTag.indexOf("background='")+12;
charEnd = bodyTag.indexOf("'",charStart+13);
var background = bodyTag.substring(charStart,charEnd);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.