用JSOUP解析HTML,怎样删除掉其中的一段DIV标签及内容?

html-css011

用JSOUP解析HTML,怎样删除掉其中的一段DIV标签及内容?,第1张

主要是根据id来删除。

核心代码:

doc.getElementById("detail_question").remove()

实际例子如下:

从baseHtml这断代码中删除指定id的标签:

String baseHtml = "<div id='stylized' class='myform'>"

+ "<input id='txt_question' name='preg' type='text' disabled='disabled' style='width:150px'>"

+ "<div id='detail_question'>Rock</div></div>"

Document doc = Jsoup.parse(baseHtml)

doc.getElementById("detail_question").remove()

Elements elements = doc.select("div")

System.out.println(elements)

输出的结果中没有detail_question这个div节点了:

<div id='stylized' class='myform'>

+ "<input id='txt_question' name='preg' type='text' disabled='disabled' style='width:150px'>

需要准备的材料分别有:电脑、浏览器、html编辑器。

1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。

2、在index.html中的<script>标签,输入js代码:

$('#test').html($('#test').html().replace('<span>', '').replace('</span>', ''))。

3、浏览器运行index.html页面,此时全部span被用jquery删除掉了。

</?font[^><]*>这个只却掉font标签的,保留除font以外的所有标签,如<img><p>等等. 同样的你需要去掉其他标签,只需要将里面的font换你要去掉的,就可以了.

</?[^/?(img)|(p)][^><]*>这个保留(这里我写的保留了img,p这两个标签)你指定的标签,其他的(包括font)全去掉, 如果你还有其他的标签想保留,直接在里面加一个 |(xxx)就行了,

</?[a-zA-Z]+[^><]*>这个就是我最上面写的那个,会去掉所有的标签,包括font .

</?[a-zA-Z]+[^><]*>这个表达式可以去掉所有HTML的标签

JAVA代码可以这样写:

public static String delTagsFContent(String content){

String patternTag = "</?[a-zA-Z]+[^><]*>"

String patternBlank = "(^\\s*)|(\\s*$)"

return content.replaceAll(patternTag, "").replaceAll(patternBlank, "")

}