如何使用标签替换文本中的所有可见文本

时间:2013-06-20 14:48:49

标签: java android

我需要将html的浏览器中的所有内容都显示为shell,如下所示:

源:

<p><strong> My source sentence</strong></p>

目标:

<p><strong><span>My </span><span>source </span><span>sentence</span></strong></p>

但请勿触摸任何标签,javascripts等。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

没有不尊重,但这看起来像一个愚蠢的事情。但无论如何,您可以尝试解析HTML(使用库解析XML),然后用新行替换每一行。

答案 1 :(得分:0)

如果您的源是有效的XML,那么编写一个SAX处理程序以读取源代码并以您希望的方式输出它应该相当容易,请看一下tutorial

基本上每次遇到元素时,只需将元素输出到输出流。每次遇到一些文本时,只需使用正则表达式(或类似的)将其拆分为您想要的部分,并将每个部分包装在span元素中。这似乎是一件非常奇怪的事情。

如果您的输入源不是有效的XML(如果它的HTML包含可以解决的所有各种内容),那么除非您可以先将源转换为有效的XML,否则它将变得更加困难。