论坛首页 入门技术论坛

java使用正则表达式去除字符串的html标签

浏览 19043 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-22  

     新闻内容或者博客文章,如果显示摘要,需要去除内容的html格式标签,找到一个正则表达式,实现了:

   

/**
	 * 删除input字符串中的html格式
	 * 
	 * @param input
	 * @param length
	 * @return
	 */
	public static String splitAndFilterString(String input, int length) {
		if (input == null || input.trim().equals("")) {
			return "";
		}
		// 去掉所有html元素,
		String str = input.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll(
				"<[^>]*>", "");
		str = str.replaceAll("[(/>)<]", "");
		int len = str.length();
		if (len <= length) {
			return str;
		} else {
			str = str.substring(0, length);
			str += "......";
		}
		return str;
	}

 

   发表时间:2008-10-09  
非常感谢,刚刚用你的方法解决了在字符串去除HTML代码,我用的是ruby
def normal_word(str)
    str.gsub!(/\\&[a-zA-Z]{1,10};/,'')
    str.gsub!(/<[^>]*>/,'')
    str.gsub!(/[(\/>)<]/,'')
  end

0 请登录后投票
   发表时间:2008-10-09  
非常感谢,刚刚用你的方法解决了在字符串去除HTML代码,我用的是ruby
0 请登录后投票
   发表时间:2008-10-09  
这是我在做一个网站时候用到的,也是从网络上获取的,很高兴能够帮助别人。
0 请登录后投票
   发表时间:2008-11-26  
\\&[a-zA-Z]{1,10};
什么作用啊!没有看明白啊!
0 请登录后投票
   发表时间:2008-11-26  
songlipeng 写道
\\&[a-zA-Z]{1,10};
什么作用啊!没有看明白啊!


\\& &字符
[a-zA-Z]{1,10} 任意字母(包含大小写)组成的字串,长度为1到10


匹配例如:&lt; &gt; &nbsp; 之类的字串

0 请登录后投票
   发表时间:2008-11-26  
挺好的,正式我需要的。谢谢楼主分享
0 请登录后投票
   发表时间:2009-02-04   最后修改:2009-02-04
ruby中的方法

<%=h truncate(product.description.gsub(/<.*?>/,''),:length => 80, :truncate_string =>"……") %>
0 请登录后投票
   发表时间:2009-03-18  
方法明显太过暴力,假如我的内容用<1><2><3>这样的形式来作为步骤的标示,那不是一样被删。
男人要绅士要优雅。
// 去掉所有html元素,   
String str = input.replaceAll("<[a-zA-Z]+[1-9]?[^><]*>", "")
                  .replaceAll("</[a-zA-Z]+[1-9]?>", "");
0 请登录后投票
   发表时间:2009-03-18  
小马哥 写道
方法明显太过暴力,假如我的内容用<1><2><3>这样的形式来作为步骤的标示,那不是一样被删。
男人要绅士要优雅。
// 去掉所有html元素,   
String str = input.replaceAll("<[a-zA-Z]+[1-9]?[^><]*>", "")
                  .replaceAll("</[a-zA-Z]+[1-9]?>", "");


这样的数据表示在html代码里是不存在的吧,这些步骤标示被相应的html代码代替了
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics