如何检查富文本编辑器中的空文本?检查富文本编辑器中的空文本
我有一个富文本,类似于我正在打字的那个。
默认情况下,该值设置为<br>
所以,在Java中,当我检查request.getParameter("desc");
我将获得价值为<br>
我要检查空字符串,包括像刚才<br><hr>
等
这可能吗?
如何检查富文本编辑器中的空文本?检查富文本编辑器中的空文本
我有一个富文本,类似于我正在打字的那个。
默认情况下,该值设置为<br>
所以,在Java中,当我检查request.getParameter("desc");
我将获得价值为<br>
我要检查空字符串,包括像刚才<br><hr>
等
这可能吗?
使用HTML解析器,如Jsoup。
String text = Jsoup.parse(html).text();
if (text.isEmpty()) {
// No text.
}
额外的好处是,它也可以帮助你与sanitizing HTML避免XSS攻击,当恶意终端用户例如进入一个<script>
在您的文本区域。你也在检查,对不对?
感谢您的快速回复。这是一个精确的解决方案,并且很高兴了解该库。清理HTML是我遇到的另一个问题,并且想到下一个发布,并且您保存了我的夜晚。再次感谢。 – Nithy
也许头脑简单,但只是删除所有标记单词(包括图像和按钮)。
public static boolean isEmpty(String text) {
return text.replaceAll("<[^>]+>", "").trim().isEmpty();
}
也许用replaceAll删除空格和换行符。
假设非标签<
作为实体<
给出。
这很有趣。我将BalusC建议的Jsoup合并在一起,检查嵌入的html内容,并提出清理文本中的标记的建议,并做了一些技巧。谢谢你。但我认为Jsoup似乎已经内置了已经使用WhiteList的程序,并且看起来有干净的方式来清理html标签,所以我将继续使用该解决方案。感谢您的回应。 – Nithy
是的。你试过什么了? –
尝试过'descStr = StringEscapeUtils.escapeHtml(descStr);'但是这会转换为'<br>'为'
'。我期待一个空的空间或行,我可以做'descStr.length == 0'来检查它是否为空,所以这没有为我工作。有没有简单的方法来解决,如果不是,我将不得不改变解决方案。 – Nithy
@Andrew,你会推荐将富文本编辑器的内容存储在一个隐藏的字段中,因为任何类型的类型都可以,并将它传递给后端可以做到这一点。我从来没有尝试过,但只是想到了,否则它会一样。 – Nithy