是否有不错的,可自定义的Markdown Java API HTML?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有不错的,可自定义的Markdown Java API HTML?相关的知识,希望对你有一定的参考价值。

我想保存从各种来源刮取的文本,而没有上面的html标记,但还要尽可能地保留其结构。

Markdown似乎是对此的解决方案(或可能是MultiMarkdown)。

[a question提供了有关从HTML转换为降价的建议,但我想指定一些具体的东西:

  • 仅在结尾处引用所有链接(包括图像)(即没有内联网址)
  • 没有嵌入HTML(我什至100%都不确定我要如何处理困难的HTML ...但是不会嵌入!)

所以我的问题如标题中所述:Markdown Java API是否有不错的,可定制的HTML?

答案

您可以尝试改编HtmlCleaner,它为DOM提供了可行的接口:

TagNode root = htmlCleaner.clean( stream );
Object[] found = root.evaluateXPath( "//div[id='something']" );
if( found.length > 0 && found instanceof TagNode ) 
    ((TagNode)found[0]).removeFromTree();

这将允许您使用相当简单的API以所需的任何格式来构造输出流。

另一答案

[JS有一个很棒的库,名为Turndown,您可以在线尝试它here。它可以部分定制。例如,可以在最后引用链接。据我所知,没有嵌入式html,一切都已转换。

我为Java需要它(作为链接的问题),所以我移植了它。 Java库称为CopyDown,它具有与Turndown相同的测试套件。

要安装gradle:

dependencies 
        compile 'io.github.furstenheim:copy_down:1.0'

然后使用它:

CopyDown converter = new CopyDown();
String myHtml = "<h1>Some title</h1><div>Some html<p>Another paragraph</p></div>";
String markdown = converter.convert(myHtml);
System.out.println(markdown);
> Some title\n==========\n\nSome html\n\nAnother paragraph\n

以上是关于是否有不错的,可自定义的Markdown Java API HTML?的主要内容,如果未能解决你的问题,请参考以下文章

markdown 引导完整的iPXE本机菜单,带有可自定义的默认选项和超时(还包括工作Ubuntu 12.04预置安装)

Java 应用程序中的可自定义快捷方式

如何在 java 中定义可自定义的 RGB 背景颜色?

Java中响应结果工具类,可自定义响应码,内容,响应消息

可自定义的按钮,这是正确的还是有更好的选择?

查找具有可自定义数字之间距离的数字运行