android文本html格式,Android富文本编辑器(四):HTML文本转换

本文介绍了如何在Android中将富文本(Spanned)转换为HTML,以及如何将HTML解析回富文本。通过遍历Spanned对象并用HTML标签替换,实现了转换。同时,使用TagSoup库解析HTML并创建自定义SAX内容处理器以处理不同的标签,如a, img, b和strong等。" 78689092,7406365,Java后台运行:使用nohup命令,"['后端开发', 'Java', 'Linux命令']
摘要由CSDN通过智能技术生成

在真实的工程开发中,一个富文本编辑器,不是仅仅可以编辑显示,还需要处理富文本的转换与解析,方便传输与存储。一般来说,HTML文本是比较理想的网络传输格式。如何将安卓的span式富文本和HTML文本之间进行互转,是本篇介绍的重点。

首先,介绍富文本转成HTML。我们需要做的,是遍历文本中的span对象,并用合适的html标签来修饰span对象对应的文本。示例代码如下:

public static String convertSpannedToRichText(Spanned spanned) {

List spanList =

Arrays.asList(spanned.getSpans(0, spanned.length(), CharacterStyle.class));

SpannableStringBuilder stringBuilder = new SpannableStringBuilder(spanned);

for (CharacterStyle characterStyle : spanList) {

int start = stringBuilder.getSpanStart(characterStyle);

int end = stringBuilder.getSpanEnd(characterStyle);

if (start >= 0) {

String htmlStyle = handleCharacterStyle(characterStyle,

stringBuilder.subSequence(start, end).toString());

if (htmlStyle != null) {

stringBuilder.replace(start, end, htmlStyle);

}

}

}

return stringBuilder.toString();

}

private static String handleCharacterStyle(CharacterStyle characterStyle, String text) {

if (characterStyle instanceof BoldSpan) {

return String.format("%s", text);

} else if (characterStyle instanceof UrlSpan) {

UrlSpan span = (UrlSpan) characterStyle;

return String.format("

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值