文本替换所有可见的文字我需要把每一个可见的HTML浏览器字壳这样的:如何通过标签
来源:
<p><strong> My source sentence</strong></p>
目标:
<p><strong><span>My </span><span>source </span><span>sentence</span></strong></p>
但是请勿触摸任何标签,javascript等。
我该怎么做?
文本替换所有可见的文字我需要把每一个可见的HTML浏览器字壳这样的:如何通过标签
来源:
<p><strong> My source sentence</strong></p>
目标:
<p><strong><span>My </span><span>source </span><span>sentence</span></strong></p>
但是请勿触摸任何标签,javascript等。
我该怎么做?
如果您的源代码是有效的XML,那么编写一个SAX处理程序来读取源代码并按照您的要求输出它应该相当容易,请查看tutorial。
本质上,每次遇到元素时,都只是将元素输出到输出流。每次遇到一些文本时,只需使用正则表达式(或类似的)将其分割成您想要的部分,然后将每个部分包含在span元素中。这看起来像是一件非常奇怪的事情。
如果您的输入源不是有效的XML(如果它的HTML包含所有可以被破坏的各种东西),那么除非您可以先将源代码转换为有效的XML,否则将会变得更加困难。
它是html 。表格,图片等 – Aleksandr
在这种情况下,请看这个库:http://htmlcleaner.sourceforge.net/它会清理你将要加载和处理的HTML,但你必须记住它不能创造奇迹,你可能会打到无法正确加载的文件。 – wobblycogs
您可以提取文本,然后对每个单词使用'replace',并用您自己想要的标签替换它。即'str = str.replace(str,“”+ str +“);'。 – Maroun
我试过这种方法(用Jsoup),但如果我在文本中有一个字母”a“,则替换整个文档中的”a“崩溃的文件,我需要的方式来替换只是文本的一面,这是我的问题 – Aleksandr