将html字符串转换为格式化的字符串(Java)

时间:2018-10-17 15:50:59

标签: java html

目前,我有一个html文件,

<body>
 <p>Hello! <b>[NAME]</b></p>
 <p>Good to see you.</p>
</body>

我能够读取并将其转换为字符串并替换占位符([NAME]),现在看起来像这样:

<body><p>Hello! <b>Amy</b></p><p>Good to see you.</p></body>

您现在看到它们在一行中...我的问题是如何将其转换为类似于以下格式的字符串:

你好! 艾米
见到你很高兴。

1 个答案:

答案 0 :(得分:0)

我已就此问题发表评论,您在Java编程中遇到了一个很大的问题。 Web浏览器是成千上万行代码,用于将HTML渲染为您可以查看的内容。这是一个(超极端)HTML渲染操作-可以...“排序” ...读取特定的HTML标记集(以不区分大小写的方式)并将您的字符串转换为文本...

String htmlString = "... your html ...";
htmlString = htmlString.replaceAll("<b>", "").replaceAll("<\\/b>", "");
htmlString = htmlString.replaceAll("<body>", "").replaceAll("<\\/body>", "");
htmlString = htmlString.replaceAll("<p>", "").replaceAll("<\\/p>", "\n");

注意::我为您提供的此解决方案具有 数据点对一 解决方案空间! (没有用!-但是您要呈现多少HTML?

我的意思是:

  • <BODY>(而不是<body>)是一个问题。
  • <p id="..." class="...">是一个问题-不匹配!
  • 例如,如果有一个<i>(斜体标签),那将无法简单地解决。

上述渲染代码都会全部失败(惨不忍睹)

我个人有一个很好的Web抓包工具,但是“将HTML渲染为字符串”并不完全代表您的要求!希望我有道理... :)(再次:无法 “渲染” <b> HTML- Java字符串中的标记-这个问题没有任何意义!)

您可以看到我的库,它可以轻松解析HTML,并且可以轻松地将其转换为String ...如果需要,我将提供一个示例。

  

http://developer.torello.directory/JavaHTML/index.html