Android富文本编辑器总结(五)

本文总结了Android富文本编辑器在转换HTML和处理图片时遇到的问题及解决方案。包括EditText文本转HTML时的@XXX和$123456处理、中文编码问题、编号插入、多余换行符的去除。此外,还讨论了图片显示重复、特殊符号导致的《img》标签增多以及防止OOM的策略。
摘要由CSDN通过智能技术生成

一: EditText文本转HTML
Android中有Html.toHtml()的方法,可以将颜色、加粗等转化为html标签,简化了我们标签的插入算法,但是也存在一些问题。
1. @XXX 和 $123456 的问题
@XXX是作为一个整体,创建了一张Bitmap然后使用ImageSpan插入到文本中的,这样就可以实现光标只能定位在@XXX之前或之后,要删除就整体删除。但是通过Html.toHtml()转化之后,会将这张图片转化为《img》标签,而我们只想转换后生成《a》标签(‘《》’实为’<>’),我的处理是这样的。
首先是在ImageSpan的source属性设置为@XXX,然后通过Html.toHtml()转化后为《img src=’@XXX’》。
第二步使用正则表达式匹配含有@的《img》标签,然后替换。

public String parseAtAndDoller(String htmlStr) {
        String AT_STRING = "<a href=\"http://www.baidu.com?at=%s\">%s</a>";
        String DOLLER_STRING = "<a href=\"http://www.baidu.com?doller=%s\">%s</a>";

  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值