当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [分享]发一个可以去除html标签的函数
帖子发表于 : 2007-10-09 23:55 

注册: 2007-04-22 10:03
帖子: 60
地址: china
送出感谢: 0 次
接收感谢: 0 次
搞了半天终于写了出来了,还希望大家给做测试呀,这是一个可以去除html标签的函数,就是可以把包括尖括号以及尖括号内去除的函数。
代码:
public class Replace {

   public String rep(String html) {

      String str = html;
      try {
         

         while (html.indexOf("<") > -1 && html.indexOf(">")>-1) {
            int begin = 0, right = 0;
            begin = html.indexOf("<"); // 起点
            html=html.substring(begin);
            right = html.indexOf(">");// 终点
            String area = html.substring(0, right + 1); // 获得尖括号及之间的内容
            html = html.substring(right + 1); // 右尖括号之后的内容
            str = str.replace(area, "");
            
         }

      } catch (Exception e) {
         System.out.println(e.toString());
      }

      return str;
   }

   public static void main(String[] args) {

      Replace rep = new Replace();
      System.out.println(rep.rep("home</a> > <a href=\"http://www.foot.com/shopping/index.php?osCsid=5108o0ib4hgq9r45rj1eeipl91\" class=\"headerNavigation\">shopping</a> >>"));

   }

}


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-10-10 2:16 

注册: 2006-12-10 20:01
帖子: 50
送出感谢: 0 次
接收感谢: 0 次
如果是要把html转换成普通文本,还应该能够把转义字符也变了才好,我以前用的时候也写过这样的函数的


页首
 用户资料  
 
3 楼 
 文章标题 : 谢谢
帖子发表于 : 2007-10-10 8:15 

注册: 2007-04-22 10:03
帖子: 60
地址: china
送出感谢: 0 次
接收感谢: 0 次
二楼的兄弟说的是,那些转义字符用replace就可以了的,谢谢提醒。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-10-11 10:24 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
有几个问题:
1. HTML 正文文本里面也是可能有左右尖括号的。
2. 用这种简单的字符串查找的效率是很低的,比较合宜的是利用 regex 处理。

如果只是要从一个 HTML 页面中去除 HTML 标签,使用 HtmlParser 就可以轻松完成这个任务。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-10-11 15:06 
头像

注册: 2007-08-03 12:26
帖子: 83
送出感谢: 0 次
接收感谢: 0 次
HTML 正文文本里面的左右尖括号 一般是转义的&gt 什么的.


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-10-11 15:44 

注册: 2007-04-22 10:03
帖子: 60
地址: china
送出感谢: 0 次
接收感谢: 0 次
四楼的兄弟说的那个还没有做过,回头看看


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-10-15 21:53 
头像

注册: 2006-12-20 18:41
帖子: 776
送出感谢: 0 次
接收感谢: 0 次
去除文本中的html标签,用一个正则表达式就可以了
javascript中的实现:

代码:
String.prototype.stripHTML = function() {
    var reTag = /<(?:.|\s)*?>/g;
    return this.replace(reTag, "");
};


_________________
尽情享受生活~

Welcome to AutumnHealth's blog:
http://forum.ubuntu.org.cn/weblog.php?w=1421
http://blog.csdn.net/autumnhealth


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译