求将html网页中的所有html标签去掉的高效率方法(我用递归做的,可如果标签不规范或者标签太多,则堆溢出) ( 积分: 50 )

  • 主题发起人 主题发起人 总有爱
  • 开始时间 开始时间

总有爱

Unregistered / Unconfirmed
GUEST, unregistred user!
如题, 比如 <html></body>ABCDFe卧式<div>sfjweiflsd</div>等等,去掉所有的标签只留下文字.
我用递归做的,可一旦标签很多的时候就堆溢出,有什么办法解决吗?
 
如题, 比如 <html></body>ABCDFe卧式<div>sfjweiflsd</div>等等,去掉所有的标签只留下文字.
我用递归做的,可一旦标签很多的时候就堆溢出,有什么办法解决吗?
 
看看你的程序,你是用什么语言在写?
我觉得取掉所有的<、>以及他们之间的内容并不复杂,把整个html文件当一个字符流,扫描一遍就可以了。
 
是不复杂, 我是用java写的,首先找到第一个 < 然后找到下一的 > 把之间的内容去掉,可标签太多的时候,就堆溢出!有好的方法吗?
 
用正则表达式试试~
 
to:POPER
如何使用正则表达式.我没用过!望赐教!
 
jdk 1.4以后的版本已经具有正则处理的类库
String类的replaceAll也是是使用正则的
简单的去除html标记可以用
htmlStr.replaceAll(&quot;<(.*?)>&quot;,&quot;&quot;);
就OK了
(.*?)匹配了任意字符,并使用非贪婪匹配模式
更多的资料google一下就有了~
 
可以试试DHTMLEdit,读入该html,然后用DOM.Body.innertext方法得到不代标记的文本内容
 
可以将文本内容传给IhtmlDocument2,用outerText直接取出
 
是啊,直接利用IHTMLDocument2多方便.
 
多人接受答案了。
 
后退
顶部