WeChat applet uses third-party component wxParse to load rich text html

WeChat applet uses third-party component wxParse to load rich text html

  • WeChat applet
  • Wechat applet loads rich text html
  • WeChat applet rich text third-party component wxParse
  • wxParse
  • rich text html

Introduction to wxParse

wxParse is a WeChat applet rich text parsing component that supports converting Html and markdown to wxml.

wxParse gitHub address: https://github.com/icindy/wxParse

Currently the project has stopped maintenance, the reason is unknown.

wxParse uses

  1. According to the instructions on gitHub, after downloading the demo, import the wxParse file inside directly into the applet project.
    insert image description here
  2. Introduce css style files in wxss
@import "../../utils/wxParse/wxParse.wxss";

insert image description here
3. Reference the template in wxml

<import src="../../utils/wxParse/wxParse.wxml"/>

<view class="wxParse">
    <template is="wxParse" data="{
     
     {wxParseData:article.nodes}}"/>
</view>
  1. data binding in js
onLoad() {
    
    
    var article = this.data.content;
    var that = this;
    WxParse.wxParse('article', 'html', article, that, 5);
 },

The content of article should be a string containing rich text content.

example

Here's a rich text string:

<h2 class='kc-course-harvest-title' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(15, 20, 25);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:18px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;letter-spacing:normal;line-height:24px;margin:0px 0px 16px;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'><strong>你将获得</strong></h2><ul><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>全栈开发必备技能体系,HTML5+CSS3+JavaScript+C#+MySQL</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>业务场景真实实战项目,基础实战相结合</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>手把手从零开始教学</li></ul>`

The display effect on the browser:
insert image description here

Use wxParse to load this rich text in the WeChat applet

js

const WxParse = require('../../utils/wxParse/wxParse.js')

Page({
    
    
    data: {
    
    
        content: `<h2 class='kc-course-harvest-title' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(15, 20, 25);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:18px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;letter-spacing:normal;line-height:24px;margin:0px 0px 16px;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'><strong>你将获得</strong></h2><ul><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>全栈开发必备技能体系,HTML5+CSS3+JavaScript+C#+MySQL</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>业务场景真实实战项目,基础实战相结合</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>手把手从零开始教学</li></ul>`
    },

    onLoad() {
    
    
        var article = this.data.content.replace(/&quot;/g, '');;
        var that = this;
        WxParse.wxParse('article', 'html', article, that, 5);
    }
})

html

<import src="../../utils/wxParse/wxParse.wxml"/>

<view class="wxParse">
    <template is="wxParse" data="{
     
     {wxParseData:article.nodes}}"/>
</view>

css

@import "../../utils/wxParse/wxParse.wxss";

The display effect in the applet is as follows:

Please add a picture description

Notice

  1. There should not be some special characters in rich text strings such as&quot;

If you load rich text html, when the string is displayed, it usually means that the rich text string contains some special characters, which may be recognized by the computer browser, but cannot be loaded on the WeChat applet.
When loading rich text, &quot;just remove it.

var article = this.data.content.replace(/&quot;/g, '');;
var that = this;
WxParse.wxParse('article', 'html', article, that, 5);

Guess you like

Origin blog.csdn.net/Morris_/article/details/131534095