あなたが望むのはCssScannerだと思います。
/****** pull out style tag from html *****/
Pattern p = Pattern.compile("<style>([\\s\\S]+?)</style>");
Matcher m = p.matcher(validHTML);
// if we find a match, get the group
if (m.find()) {
// get the matching group
codeGroup = m.group(1);
}
/****** block for checking all css for validity *****/
InternalPolicy policy = null;
try {
policy = (InternalPolicy) InternalPolicy.getInstance("antisamy-ebay.xml");
} catch (PolicyException e) {
e.printStackTrace();
}
ResourceBundle messages = ResourceBundle.getBundle("AntiSamy", Locale.getDefault());
CssScanner scanner = new CssScanner(policy, messages);
CleanResults results = scanner.scanStyleSheet(codeGroup, Integer.MAX_VALUE);
validCSS = results.getCleanHTML().toString();
これは私のために働くコードの一部です。これがあなたのためにはうまくいかない場合は私に教えてください、私もここでhtmlの検証を扱っているので、私は変数のコードの先頭に宣言している。したがって、このコードには変数がありません。しかし、それは正しい方向にあなたを指す必要があります。また、適切なポリシーが必要です。私はebayポリシーを選択しました。これは、CSSが出力結果を許可するホワイトリストをガイドします。私はCssValidatorを使用していないので、どのように比較するのか分かりませんが、CssScannerはクリーンなCSSを返す素晴らしい仕事をしています。