我在使用Jsoup解析器时遇到困难。如何判断给定的字符串是否是有效的HTML代码?
String input = "Your vote was successfully added."
boolean isValid = Jsoup.isValid(input);
// isValid = true
isValid标记为true,因为JSoup首先使用HtmlTreeBuilder:如果仅有html、head或body标记丢失,它会自行添加它们。然后它使用Cleaner类,并根据给定的白名单进行检查。
有没有简单的方法可以检查字符串是否是有效的HTML,而不需要Jsoup尝试将其变成HTML?
我的例子是AJAX响应,它以“text/html”内容类型出现。然后它转到解析器,JSoup添加了这个标记,结果,响应没有正确显示。
谢谢你的帮助。
使用正则表达式检查String
是否包含HTML
boolean isHTML = input.matches(".*\\<[^>]+>.*");
如果您的字符串
包含HTML
值,则它将返回true
String input = "<html><body></body></html>" ;
但是这个代码String input=“Hello World
首先,鲁本提出的解决方案并没有达到预期效果。模式必须与模式一起编译。多特旗。输入HTML可能有(也可能会有)新行标志等。
所以应该是这样的:
Pattern htmlPattern = Pattern.compile(".*\\<[^>]+>.*", Pattern.DOTALL);
boolean isHTML = htmlPattern.matcher(input).matches();
我还认为这个模式不仅应该找到HTML标记。下一步:不是唯一有效的选项。也可能有属性,即。这也必须得到处理。
我选择修改Jsoup源代码。如果HTMLTreeBuilder(实际上状态在HTML之前)尝试添加
我的要求是,在web表单上,如果我选择了一些字符串,单击一个按钮,我应该能够知道我选择的字符串是否使用了有效的HTML语法 假设我写了上面的代码,它应该提醒我错误,但它提醒我正确
问题内容: Golang文件路径模块(https://golang.org/pkg/path/filepath/)包含一些用于处理路径的函数,可用于检查文件是否存在。有没有一种方法可以检查字符串是否真的构成了有效路径(无论该路径处是否有文件)? 问题答案: 这个问题听起来很简单,但实际上并非如此。这是我发现的两个可能的解决方案: 这里的想法是根据规则检查给定的文件路径。 问题 作业系统(UNIX
如何检查给定的字符串是laravel中的有效时间戳。我想为它定义一个验证。输入字符串本身是一个时间戳,没有任何格式。例如"56123231"
问题内容: 在Swift中,如何检查字符串是否为有效的双精度值?我已经使用从下面的扩展这个问题的(但为float),但如果该值不能被转换,它简单地返回“0”: 理想情况下,我希望它返回,以便可以将其包含在中,如下所示: 问题答案: 确实,每次执行转换时不创建数字格式化程序会更有效:
更新: 这是否意味着,如果我想检查一个特定的字符串是否是有效的日期时间,我需要一个巨大的格式数组??会有不同的组合,我相信。 即使有很多日期分隔符('.'、'/'、'-'等)根据区域性的不同,我很难定义要检查的格式数组。 基本上,我想检查一个特定的字符串是否至少包含日(1到31或01到31)、月(1到12或01到12)和年(yyyy或yy),以任何顺序,使用任何日期分隔符,解决方案是什么? 所以,
问题内容: 我有一个isNotEmpty函数,如果字符串不为空,则返回true;如果字符串为空,则返回false。我发现如果我通过它传递一个空字符串,它将无法正常工作。 使用isNotEmpty验证字符串: 如果该字符串为空,则其他字符串将不会执行,我不明白为什么,请有人对此有所帮助。 问题答案: 实际上是简单的问题。更改: 至 可以说,您可能还想将其更改为: 因为如果您传递的是数字0以及其他一些