本篇文章给大家带来的内容是关于微信小程序如何渲染html内容(示例讲解),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近又做了一个新的小程序关于物流订单查询

遇到了一个小问题:数据中返回电话号码的字符串识别出来并且高亮和可以绑定事件。比如数据中包含您的派送员黄xx正在派件,电话:137xxxx41460已经在派送。其中就要识别出137xxxx41460并且绑定点击事件可以点击拨打电话号码。

对于这个功能搜集了不少资料其中包含了3个解决方案但是各有优缺点因此记录下来

wxParse

小程序刚上线那会儿,是无法直接渲染HTML内容的,于是就诞生了一个叫做「 wxParse 」的库。它的原理就是把HTML代码解析成树结构的数据,再通过小程序的模板把该数据渲染出来。

rich-text

后来,小程序增加了「rich-text」组件用于展示富文本内容。然而,这个组件存在一个极大的限制: 组件内屏蔽了所有节点的事件 。也就是说,在该组件内,连「预览图片」这样一个简单的功能都无法实现。

web-view

再后来,小程序允许通过「web-view」组件嵌套网页,通过网页展示HTML内容是兼容性最好的解决方案了。然而,因为要多加载一个页面,性能是较差的,个人小程序也是没法用webview。

因为我这个只是需求只是需要识别出来电话号码并且不是那种复杂的字符模板。因此参考wxparse 的原理自己写了一个关于电话号码识别的功能。

效果如下:

技术重点就是

1、在数据返回后对于字符串用正则(/(1+)|(d{9,14})|(d{3,4}-d{6,10})/g)识别出电话号码存在一个新的字段并且表示为type:phone ,不是电话号码的字符就放到另外一个字段并且表示为type:text.数据结构如图所示

2、新建一个关于字段读取的模板

{{item.acceptStation}}

{{item.acceptStation}}

其中,在模板里面绑定点击事件方便后期做逻辑处理还可以绑定不同的参数方便获取

3、在需要用到的地方引入模板

那就满足现在的功能呢需求了。不用复杂的插件也比直接引入原生组件来得方便。关键就是思路。。特此记录

php渲染页面简单例子,微信小程序如何渲染html内容(示例讲解)相关推荐

  1. 微信小程序中嵌套html_在微信小程序中渲染HTML内容3种解决方案及分析与问题解决...

    大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题.但是,在微信小程序(下文简称为「小程序」)中,应当如何渲染这部分内容呢? 在微信小程序中渲 ...

  2. 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...

  3. 解决微信小程序数据渲染缓慢或卡顿的方法

    在微信小程序中渲染数据时通常会使用setData方法,但是setData对数据是有影响的,单次设置的数据不能超过1024kB,否则就会出现卡顿甚至有时会导致小程序闪退等现象,而我们在实现上拉加载分页数 ...

  4. 简单实现微信小程序 input 的双向绑定

    简单实现微信小程序 input 的双向绑定 data 中定义表单数据 data:{formData:{} } wxml 中,利用 data- 传递参数到逻辑层 <input bindinput= ...

  5. 微信小程序列表加载动画示例

    微信小程序列表加载动画 微信小程序列表加载动画示例 实现思路 什么是动画? 导航栏设置 列表动画加载 完整代码demo 微信小程序列表加载动画示例 初学微信小程序开发,记录一下.网上找了很久这种效果, ...

  6. 微信小程序函数处理之保姆级讲解

    目录 生命周期函数 生命周期函数的调用过程 页面事件函数 页面路由管理 自定义函数 setData设值函数 生命周期函数 在使用Page()构造器注册页面时,需要使用生命周期函数,包括onLoad() ...

  7. 微信小程序实现html格式内容

    最近项目上遇到在微信小程序里需要显示新闻内容,新闻内容是通过接口读取的服务器中的富文本内容,是html格式的,小程序默认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过w ...

  8. 微信小程序获取用户手机号--官方示例

    微信小程序获取用户手机号–官方示例 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNu ...

  9. 微信小程序获取输入框(input)内容

    微信小程序---获取输入框(input)内容 wxml <input placeholder="请输入手机号码" maxlength="11" type= ...

最新文章

  1. OSPF LSA 类型
  2. CSS揭秘之《背景图案》
  3. require.js基本认识
  4. Backbone React Requirejs 应用实战(一)——RequireJS管理React依赖
  5. pythonexpect后怎么循环_python 装饰器从放弃到玩转(初级)
  6. node --- 监听文件变化(静态、动态、子进程)
  7. Android wakelock 自上而下浅析
  8. C语言 数组内存溢出 - C语言零基础入门教程
  9. 为MySQL选择合适的备份方式
  10. echarts+php+mysql 绘图实例
  11. no module named ‘cv2’解决办法
  12. 安装idea(最新版IntelliJ IDEA)编译器(详细到每步)
  13. java类路径定制_设置Java类路径的注意事项
  14. Android心电数据分析,Android系统下的心电数据分析软件设计
  15. 烦了,放弃卡巴——改用小红伞
  16. 计算机无法识别移动硬盘怎么办,电脑识别不出来移动硬盘怎么办
  17. linux系统编程界面实验报告,操作系统实验报告-Linux操作使用编程.doc
  18. 股票只有两个字:“等待”
  19. [附源码]java毕业设计病历管理系统设计
  20. vue中如何动态的绑定图片

热门文章

  1. 【发布】温度监测报警器v1.3a稳定版!
  2. 基于小波变换的图像解压缩
  3. Android开发 - 掌握ConstraintLayout(四)创建基本约束
  4. Mysql取上一条,下一条
  5. Mac 勿扰模式周期性开关闭功能实现脚本
  6. Spring的Hello, world,还有拿来主义
  7. centos 配置yum源
  8. ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
  9. MySQL字符串截取函数
  10. java中c/s模式传送数据