如何解析HTML并获得CSS样式

我需要解析HTML并找到相应的CSS样式。 我可以分别解析HTML和CSS,但我无法将它们组合起来。 例如,我有一个像这样的XHTML页面:

     
Hello World

我必须搜索“hello world”并找到它的类名,然后我需要从外部CSS文件中找到它的样式。 使用Java,JavaScript和PHP的答案都可以。

在java中使用jsoup库,这是一个HTML Parser。 你可以在这里看到例如
例如,您可以执行以下操作:

 String html="<>"; Document doc = Jsoup.parse(html); Element ele=doc.getElementsContainingOwnText("Hello World").first.clone(); //get tag containing Hello world HashSetclass=ele.classNames(); //gives you the classnames of element containing Hello world 

您可以进一步探索图书馆以满足您的需求。

类似的问题jQuery可以获得与元素相关的所有CSS样式吗? 。 也许css优化器可以做你想做的事,看看unused-css.com的在线工具,还列出了其他工具。

据我了解,您有机会从外部文件解析样式表,这使您的任务易于解决。 首先尝试用jsoup解析html文件,它支持jquery,就像选择器语法一样,可以帮助你更轻松地解析复杂的html文件。 然后检查以前的解决方案来解析css文件。 我不打算完全解决方案,因为我说这些库所有任务都在内部完成,你应该做的唯一事情是编写胶水代码来组合这两个。

使用Java java.util.regex

 String s = "...
Hello World
"; Pattern p = Pattern.compile("Hello World", Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(s); if (m.find()) { System.out.println(m.group(1)); }

打印abc

Interesting Posts