我有一些简单的 html 字符串,仅包含 span 和 strong 标签,我想将其显示在 TextView 中。由于 TextView 不知道 html 类,我想根据 html 属性为自己设置正确的样式。
<span class="victoria line-text">Victoria line</span> to <strong>Highbury & Islington</strong>
仅仅依靠 Html.fromHtml 的帮助就可能吗?方法和 Spanned 对象来获取以下信息还是我应该创建自己的解析逻辑?
object1
{
public String text="Victoria line";
public String tag="Span";
public String[] classes = {"victoria" "line-text" }
}
object2
{
public String text=" to ";
public String tag=null;
public String[] classes =null;
}
object3
{
public String text="Highbury & Islington";
public String tag="Strong";
public String[] classes =null;
}
最佳答案
我认为您不能仅使用 Html.fromHtml 来实现此目的。当然你可以实现你自己的handler for 标签(适用于无法识别的标签,但您可以使用正则表达式更改已知标签名称并自行处理它们),或者编写自己的标签解析器,但标签分类则不同。
我建议使用Jsoup ,它是html解析lib,然后按类选择元素,并用一些自定义标签替换类和标签。并使用您的自定义标记处理程序将结果提供给 Html.toHtml()。
关于java - 解析简单的 Html 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60362622/