最近在做百度小程序,发现百度小程序目前大家接触的都比较少,还搜不到相关的技术支持,特别是处理文章的富文本处理工具。做过微信小程序的都知道,微信有一个wxParse,专门针对微信富文本开发的一套组件,可以完美让html转换成小程序的节点,于是便想能不能把wxParse改造成百度小程序的。

由于百度小程序和微信小程序的代码相似度搞大95%以上,几乎就是微信的wxml,js请求和标签批量替换成百度swan,js的,css和json完全通用,这也包括富文本节点完全一样,所以尝试改造,用于百度和微信的循环和模板调用不太一样,所以也费了点时间,为了区分wxParse,所以改名字bdParse。

bdParse项目下载地址:https://gitee.com/sootou/bdparse

项目介绍

百度小程序富文本解析工具bdParse,改造自wxparse,支持html转换成百度小程序富文本节点。

安装教程

  1. 下载整个全部文件,放到你的小程序根目录下
  2. 在小程序页面的js种直接引入代码:var bdParse = require('../../bdParse/bdParse.js');
  3. 在需要的字段使用baparse,代码:(注意:article和content不要重复)that.setData({ content:bdParse.bdParse('article', 'html', content, that, 5), })
  4. swan页面引入模板,<import src="../../bdParse/bdParse.swan" /> 然后在需要显示富文本的地方调用:<template is="bdParse" data="{{article}}" />

使用说明

  1. swan调用模板的data="{{article}}"和setData中的article保持一致。
  2. 调用bdparse组件的时候,组件已经把富文本内容赋值(即setData)给了article,所以swan可以直接data="{{article}}"。
  3. wxParse的调用方式为{{wxParseData:article.nodes}},这里和他的不一样。

其他说明

  1. bdParse是在wxParse的基础上改造的,只是把wxParse替换换成了bdParse,包含js,swan, css
  2. wxml修改后缀改成swan,并且修改了全部模板传值的调用方式,符合百度小程序的使用。
  3. 修复了其他百度小程序的专有组件,比如s-for,s-if,s-elif,s-for-index等等
  4. 修复其他问题,比如去掉<template name="wxParseImg">重复的mode以及去掉data-from,给所有的s-for-index添加idx(好像不能为空)。
  5. 其他修改,不再赘述
  6. 因为直接批量替换内容,基本文章可以满足使用,其他没有做过多测试,欢迎大家反馈bug

参与贡献

码农不易,多多支持

如果你觉得bdParse帮你解决了问题,请不要忘了打赏,你的支持是我们最大的动力。

百度小程序富文本解析工具bdParse-LMLPHP

10-05 21:19