用java字符串方法去除HTML代码标签的问题

用java字符串方法去除HTML代码标签的问题,第1张

可以通过replaceAll方法进行字符串替换,之后替换的内容用正则表达式来匹配。举例

String ss="<div id='mini_nav_qq'><li><a target='_top' " +

  "href='http:// lady.qq.com/emo/emotio.shtml'>情感</a></li><li>" +

  "<a target='_top' href='http://lady.qq.com/beauty/beauty.shtml'>美容</a></li></div>"

String ss=ss.replaceAll("<(/?\\S+)\\s*?[^<]*?(/?)>","<$1$2>")//通过只保留"<“后面的字符串,之后删除空格和后面的内容,快捷的实现去除 *** 作(此方法通用于所有的标签去除,只需要传入不同的ss值)。

结果就是:<div><li><a>情感</a></li><li><a>美容</a></li></div>。

java处理html指定标签最好用正则表达式。例如要去除html中所有的h1标签和类容就可以用下面的演示代码

package konw.reg

import java.io.BufferedReader

import java.io.BufferedWriter

import java.io.FileNotFoundException

import java.io.FileReader

import java.io.FileWriter

import java.io.IOException

import java.util.regex.Matcher

import java.util.regex.Pattern

public class RemoveTag

{

    public static void main(String[] args)

    {

        FileReader fr

        String content =null

        String regex = "<[Hh]1>.*</[Hh]1>"

        try

        {

            fr = new FileReader("tag.html")

            BufferedReader br = new BufferedReader(fr)

            String str = null

            StringBuffer sb = new StringBuffer()

            while((str = br.readLine()) != null)

            {

                sb.append(str+"\n")

            }

            content = sb.toString()

            br.close()

            

        } catch (FileNotFoundException e)

        {

            e.printStackTrace()

        } catch (IOException e)

        {

            e.printStackTrace()

        }

        Pattern pattern = Pattern.compile(regex)

        Matcher matcher = pattern.matcher(content)

        StringBuffer sb1 = new StringBuffer()

        while(matcher.find())

        {

            sb1.append(matcher.replaceAll("")+"\n")

        }

        try

        {

            FileWriter fw = new FileWriter("tag.html")

            BufferedWriter bw = new BufferedWriter(fw)

            fw.write(sb1.toString())

            bw.close()

        } catch (IOException e)

        {

            e.printStackTrace()

        }

    }

}

针对于你提的问题,如果想去掉class和style属性必须对所需要去掉属性的标签增加id

以你提供的代码为例,首先需要增加id属性,修改后如下:

<div class="content" id=“testdiv”>

<div id="t1">

文本1

</div>

<p class="bbb" id=“testp”>

文本2.....<font color='#00000'>文本3</font><span style="line-height:24px">文本4</span>

</p>

</div>

然后编写对应js代码,代码如下:

function delClass(){

$("#testdiv").removeClass("content")

$("#testp").removeClass("bbb")

}

上述代码可以去除Class

注:

如果程序为进入页面后调用则需要在body中增加onload方法也就是:onload="delClass()"

如果为点击式触发则在页面增加按钮,对按钮总方法onClick方法指定删除的js方法

希望回答对你有用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6115855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存