以下是需要用正则分析的html代码<p>任何字符包括换行及<p>...1</p>
<p style="TEXT-ALIGN:center">任何字符包括换行及<p>...2</p>
<p>任何字符包括换行及<p>...3</p>以下是我想用的js方法,只是不好用function getNewsArray(innerhtml) {
var rs;
var reg = /<p(.*?)>(.*?)<\/p>/gim;
while (rs = reg.exec(innerhtml)) {
Pinnerhtml.push(rs[2]);
};
alert(Pinnerhtm.length);
};
我想要得到的结果是
Pinnerhtm[0]=任何字符包括换行及<p>...1
Pinnerhtm[1]=任何字符包括换行及<p>...2
Pinnerhtm[2]=任何字符包括换行及<p>...3
Pinnerhtm.length=3
想知道这样的正则如何写!!!
<p style="TEXT-ALIGN:center">任何字符包括换行及<p>...2</p>
<p>任何字符包括换行及<p>...3</p>以下是我想用的js方法,只是不好用function getNewsArray(innerhtml) {
var rs;
var reg = /<p(.*?)>(.*?)<\/p>/gim;
while (rs = reg.exec(innerhtml)) {
Pinnerhtml.push(rs[2]);
};
alert(Pinnerhtm.length);
};
我想要得到的结果是
Pinnerhtm[0]=任何字符包括换行及<p>...1
Pinnerhtm[1]=任何字符包括换行及<p>...2
Pinnerhtm[2]=任何字符包括换行及<p>...3
Pinnerhtm.length=3
想知道这样的正则如何写!!!
解决方案 »
- 关于onMouseOver、onMouseOut、onClick 实现一个效果
- innerHTML 自动路径绝对化
- 如何让一个文本框 在可编辑和不可编辑之间转换-.net可编辑的表格是如何实现的
- jquery json 对级联查询 select的问题
- 如何做到:点击某个flash,alert出相应的flash地址,用正则或DOM都可以
- 谁来推荐几个具有三级下拉菜单的网站~
- 十万火急啊,怎样做弹出式菜单啊?
- fso怎么存储Unicode格式的文件???要求有事例!!马上给上100分
- 问
- 用javascript可以实现只允许输入.zip这样的文件名吗?
- 通过Javascript来显示当前月之前的月份
- js给textarea添加值
var rs="<p>任何字符包括换行及<p>...1</p><p style='TEXT-ALIGN:center'>任何字符包括换行及<p>...2</p><p>任何字符包括换行及<p>...3</p>";
var reg = /(?:<p(.*?)>).*?(?:<\/p>)/g;
var res = rs.match(reg);
alert(res[0]);
alert(res[1]);
alert(res[2]);
<p>111...<p>0000</p>...111</p>
<p>111....222</p>
<p>111...333</p>
想要的结果是
111...<p>0000</p>...111
111....222
111...333朋友的正则也不行
<script>
var rs="<p>任何字符包括换行及<p>...1</p>\
<p style='TEXT-ALIGN:center'>任何字符包括换行及<p>...2</p>\
<p>任何字符包括换行及<p>...3</p>"; var reg = /[^>]+<p>[^<]+(?=<\/)/gim;
var res = rs.match(reg); alert(res[0]);
alert(res[1]);
alert(res[2]);
</script>
<script>
var rs="<p>任何字符包括换行及<p>...1</p>\
<p style='TEXT-ALIGN:center'>任何字符包括换行及<p>...2</p>\
<p>任何字符包括换行及<p>...3</p>\
<p>111...<p>0000</p>...111</p>\
<p>111....222</p>\
<p>111...333</p>";
var reg = /(?!\s)([^>]+<[^>]+>)?[^>]+(?=<\/)/gim;
var res = rs.match(reg); alert(res.join("\n"));</script>
您好朋友,你的方法能不能改成符合以下要求的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head><body>
<div id="agent">
<p>
任何字符包括换行及<p>...1</p>.换行
</p>
<p style='TEXT-ALIGN:center'>
任何字符包括换行及<p>...2</p>
</p>
<p>
任何字符包括换行及<p>...3</p>
</p>
</div>
<script type="text/javascript">
var rs=document.getElementById('agent').innerHTML;
var reg = /[^>]+<p>[^<]+(?=<\/)/gim;
var res = rs.match(reg); alert(res[0]);
alert(res[1]);
alert(res[2]);
</script></body></html>以上是我的代码,执行的结果是
res[0]=任何字符包括换行及<p>...1;
res[1]=任何字符包括换行及<p>...2;
res[2]=任何字符包括换行及<p>...3;我想得到的结果是
res[0]=任何字符包括换行及<p>...1</p>.换行;
res[1]=任何字符包括换行及<p>...2</p>;
res[2]=任何字符包括换行及<p>...3</p>;请朋友帮忙!!!
<div id="agent">
<p>
任何字符包括换行及<p>...1</p>.换行
</p>
<p style='TEXT-ALIGN:center'>
任何字符包括换行及<p>...2</p>
</p>
<p>
任何字符包括换行及<p>...3</p>
</p>
</div><script type="text/javascript">var rs=document.getElementById('agent').innerHTML.replace(/\n|\r/g, "");
var reg = /[^>]+<[^>]+>[^>]+(?:>[^<]*)/g;
var res = rs.match(reg); alert(res.join("\n"));</script>
var rs = "\
<p>任何字符包括换行及<p>...1</p>.换行</p>\
<p style='TEXT-ALIGN:center'>任何字符包括换行及<p>...2</p></p>\
<p>任何字符包括换行及<p>...3</p></p>"; var reg = /[^>]+<[^>]+>[^>]+(?:<\/[^\/]+>[^<]*)/g;
var res = rs.match(reg); alert(res.join("\n"));</script>
BTW:LZ,采用innerHTML方法,在IE和FIREFOX中读取到的字符串是不一样的。在IE中读取的会在原始字中文后面添加一个标签“</p>”,无法使用上述正则。描写正则,我仅针对你给出的字符串本身,等有时间再考虑兼容浏览器的画蛇添足。