从 HTML 片段中删除空标签对
我有一个用户提交的字符串,其中包含 HTML 内容,例如
"<p></p><div></div><p>Hello<br/>world</p><p></p>"
我想转换该字符串,以便删除空标记对(但保留像
这样的空标记)。例如,此转换的结果应将上面的字符串转换为
"<p>Hello<br/>world</p>"
我想使用 JSoup 来执行此操作,因为我的类路径中已经有此转换,并且对我来说最简单的方法是在服务器端。
I have a user-submitted string that contains HTML content such as
"<p></p><div></div><p>Hello<br/>world</p><p></p>"
I would like to transform this string such that empty tag pairs are removed (but empty tags like <br/>
are retained). For example, the result of this transformation should convert the string above to
"<p>Hello<br/>world</p>"
I'd like to use JSoup to do this, as I already have this on my classpath, and it would be easiest for me to perform this transformation on the server-side.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
下面是一个执行此操作的示例(使用 JSoup):
上面代码的输出就是您要查找的内容:
Here is an example that does just that (using JSoup):
The output of the code above is what you are looking for:
不太熟悉 jsoup,但您可以通过简单的正则表达式替换来做到这一点:
尽管使用完整的解析器,您可能在处理过程中删除空内容,具体取决于您最终要使用它做什么。
Not really familiar with jsoup, but you could do this with a simple regex replace:
Although with a full parser you could probably just drop empty content during processing, depending on what you're eventually going to do with it.
Jsoup 将从用户输入的 HTML 生成正确的 XML。使用 XML 解析器查找并删除所有空标签。我认为这比正则表达式更好。看这里:Java 删除空 XML 标签
您还可以使用 JSoup 为您查找空标签。看这里:http://jsoup.org/cookbook/extracting-data/selector-syntax
并使用 Node.remove() 方法。
Jsoup will make correct XML from user-input HTML. Use XML parser to find and remove all empty tags. I think it's a better idea than regexp. Look here: Java Remove empty XML tags
You can also use JSoup to find empty tags for you. Look here : http://jsoup.org/cookbook/extracting-data/selector-syntax
and use Node.remove() method.
如果你使用jquery,你可以像
小提琴一样: http://jsfiddle.net/LqCx5/2/< /a>
if you are using jquery, you can do it like
fiddle : http://jsfiddle.net/LqCx5/2/
不知道 Jsoup,下面的代码也适用于简单的 javascript 正则表达式。
尝试下面的代码。
}
dont know the Jsoup,below code also works with simple javascript regex.
try the below code.
}