站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题怎么提取-lt;body-gt;-lt;/body-gt;之间的内容?

怎么提取-lt;body-gt;-lt;/body-gt;之间的内容?

摘要: 怎么提取<body></body>之间的内容?


怎么将<body></body>之间的内容提取出来,存在一个字符串中?


提取什么啊,问题也太笼统了吧


用java.net包中的
url对象获得文本放入StringBuffer,
用字符处理程序,


<script language="javascript">
function getBodyContext(){
str = document.body.innerHTML;
alert(str);
}
</script>
是不是指的这个。。。


我说的意思是:

我不想要网页中的、<head></head>等其他内容,只想把每一个网页中的<body></body>之间的字符取出来,存在一个字符串中,怎么办?



document.body.innerHTML这个得不到你要的效果吗?
就是<body></body>之间的内容啊。



JAVA的做法:
先用HttpClient或者其他手段读取Response流
然后:
String string = "aaaaa<body>Hello World</body>bbb";
String start = "<body>";
String end = "</body>";
int s = string.indexOf(start) + start.length();
int e = string.indexOf(end);
System.out.println(string.substring(s, e));
另外一些开源的HTML解析方案也可能更方便高效的达到要求


tcmis(难道你忘了吗?) ( )
---------
我有很多网页,要将所有的网页中的<body></body>之间的内容取出来,如果用你的方法,怎么指定文件名呢?


loveyt(咆哮的独角兽^大家都在长大)
------------
如果<body>标签是<body leftmargin="0" topmargin="0">这种形式呢?那这种方法就不行吧?


<script>
var str="sdff<body leftmargin=/"0/" topmargin=/"0/">这种形式呢?那这种方法就不行吧?</body>sdfasdsdff<body>这种形式呢?那这种方法就不行吧?</body>sdfasdsdff<body leftmargin=/"0/" topmargin=/"0/">这种形式呢?那这种方法就不行吧?</body>sdfasd";

str=str.replace(/.*?<body.*?>(.*?)/g,"$1");
alert(str);
</script>


lip009(深蓝忧郁) ( )
---------------
您帮我解决过很多问题,十分感谢您!


您给我的代码用<script>完全正确,可是当用java方法时,我写的代码如下:

str=str.replace(/.*?<body.*?>(.*?)/g,"$1");
out.print(str);

就提示出错:
Generated servlet error:
[javac] D:/Tomcat/work/Catalina/localhost/webeditor/org/apache/jsp/abc_jsp.java:94: illegal start of expression
[javac] str.replace(/.*?<body.*?>(.*?)/g,"$1");
[javac] ^


Generated servlet error:
[javac] D:/Tomcat/work/Catalina/localhost/webeditor/org/apache/jsp/abc_jsp.java:94: illegal character: /92
[javac] str.replace(/.*?<body.*?>(.*?)/g,"$1");
[javac] ^


Generated servlet error:
[javac] D:/Tomcat/work/Catalina/localhost/webeditor/org/apache/jsp/abc_jsp.java:94: ')' expected
[javac] str.replace(/.*?<body.*?>(.*?)/g,"$1");
[javac] ^
[javac] 3 errors


是不是用java的话,要改一下阿?




JAVA版本:
str=str.replaceAll(".*?<body.*?>(.*?)","$1");
out.print(str);


正则高手。顶!


↑返回目录
前一篇: type="button"与type="submit"的区别是什么
后一篇: 新手请教,请问我用TOMCAT,如何让别人从外网浏览我的网页