前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序 rich-text 富文本的解析显示

微信小程序 rich-text 富文本的解析显示

作者头像
泥豆芽儿 MT
发布2019-02-25 10:04:46
4.5K0
发布2019-02-25 10:04:46
举报

♘ 背景

  • 最近在开发学习 Uniapp 的过程中遇到了富文本的显示,对比了 微信小程序 中生成的代码,才发现原来微信官方早就开发了<rich-text> 标签,可以很方便的拿来使用
  • 所以,在此对 小程序 rich-text 的使用方法进行一点整理

♘ 使用技巧

❶ . 首先,是 wxml 页面元素的最简单使用

  <rich-text nodes="{{article_content}}"></rich-text>

❷. js 通常的处理逻辑为:

  • 根据文章 ID,网络请求其文章内容;然后将 "html" 格式的代码进行转化;最后赋值于 article_content变量.
  • 其实核心的处理代码就是下面这句:
/**
 * 此代码段处理目的为,匹配富文本代码中的 <img> 标签,并将其图片的宽度修改为适应屏幕
 * max-width:100% 		--- 图片宽度加以限制,避免超出屏幕
 * height:auto 	 	   	--- 高度自适应
 * display:block       	--- 此代码,可以去掉图片之间的空白间隔,个人觉得好用
 */
article_content = article_content.replace(/<img/gi, '<img style="max-width:100%;height:auto;display:block" ');

一般而言,我们使用的富文本编辑器(比如:UEditor),生成的 HTML节点及属性 大多数都可以进行解析 测试中,发现对 <section> 标签不支持 可参考文章: 小程序 rich-text 不支持 section 标签的情况

  • 那么前面的代码片段,可对应修改为:
      article_content = article_content.replace(/<img/gi, '<img style="max-width:100%;height:auto;display:block" ')
     								 	.replace(/<section/g, '<div')
     									.replace(/\/section>/g, '\div>');

❸. 效果展示

☠ 附录

  1. 官方文档,详情请参考: 小程序 rich-text
  1. 在这之前,我使用的是 wxParse解析富文本 最大的缺点就是代码配置多,并且无疑多出了一部分源码资源
  2. 推荐学习:RegExp对象笔记整理|正则基础
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ♘ 背景
  • ♘ 使用技巧
    • ❶ . 首先,是 wxml 页面元素的最简单使用
      • ❷. js 通常的处理逻辑为:
        • ❸. 效果展示
        • ☠ 附录
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档