请问用JSP怎样去掉文章中的标签,将内容变成纯文本,并截取一定的字符显示出来??

时间:2022-02-19 10:41:16
在asp中我写过这样的函数,如下:
Function RepStr(str,c) 
   Dim regEx                            
   Set regEx = New RegExp                            
   regEx.Pattern = "(<.+?>)"                             
   regEx.IgnoreCase = True                         
   regEx.Global = True
   ReplaceStr = trim(replace(regEx.Replace(str, ""),"&nbsp;",""))
   Set regEx=nothing
   if len(replaceStr)>c then         
  RepStr=left(replaceStr,c)&"..."  
   else     
  RepStr=replaceStr  
   end if
End Function
可以将文章中的<html>标签去掉,然后用:RepStr(str,c)调用,截取内容前“c”个字符显示到前台,但是我现在做J2EE了,由于也才几个月,这些问题对我来说好难,因为JAVA不支持以上的那些函数,必须另外写,但是写的怎么也实现不了,请问各位?
想在JSP中实现如上的功能代码如何写呢??谢谢!

8 个解决方案

#1


各位帮帮我哈!

#2


一样啊,java也有正则表达式啊,利用oro或者java.util.regex.*就可以实现你的要求。RepStr可以用replaceAll来代替就可以了。

呵呵,不是不支持,只是你不知道而已。

#3


用replaceAll()來做吧。好容易的

#4


可以去掉HTML 标签吗??

#5


对,你的程序完全可以改造成 Java : 

//这里我不知道怎么写才能匹配到一个 完整的标签 <tag att1="att1"  att2="att2" > 或 <tag att1="att1"  att2="att2" /> 

String pattern1 = "\\<\\.+\\>" ;
String pattern2 = "\\<\\/\\.+\\>" ;

String text ;

text = text.replaceAll(pattern1,"").replaceAll(pattern2,"");

#6


用开源htmlparser

#7


注意:replaceAll是jdk1.4之后才有的,如果是1.3版本,需要自己根据replace来自己写,或者可以采用apache的commons-lang包。

#8


java中也有正则表达式的

#1


各位帮帮我哈!

#2


一样啊,java也有正则表达式啊,利用oro或者java.util.regex.*就可以实现你的要求。RepStr可以用replaceAll来代替就可以了。

呵呵,不是不支持,只是你不知道而已。

#3


用replaceAll()來做吧。好容易的

#4


可以去掉HTML 标签吗??

#5


对,你的程序完全可以改造成 Java : 

//这里我不知道怎么写才能匹配到一个 完整的标签 <tag att1="att1"  att2="att2" > 或 <tag att1="att1"  att2="att2" /> 

String pattern1 = "\\<\\.+\\>" ;
String pattern2 = "\\<\\/\\.+\\>" ;

String text ;

text = text.replaceAll(pattern1,"").replaceAll(pattern2,"");

#6


用开源htmlparser

#7


注意:replaceAll是jdk1.4之后才有的,如果是1.3版本,需要自己根据replace来自己写,或者可以采用apache的commons-lang包。

#8


java中也有正则表达式的