zoukankan      html  css  js  c++  java
  • 微信小程序显示cms里的html文章

    首先在cms模版中将html文章转化为json数据,识别图片,文本和换行,过滤掉样式和标签。这里是用PHP正则表达式函数来实现的,$content是cms里的html文章。

        <?php  
        $_arr = preg_split('/(<img.*?>)/i', $content, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);  
        $_r = array();  
        foreach($_arr as $_txt) {  
            if(substr($_txt, 0, 4) == '<img') {  
                $_matchs = array();  
                preg_match('/<img.*?src="(.*?)"/i', $_txt, $_matchs);  
                $_txt = $_matchs[1];  
                if(preg_match('/^//', $_txt)) $_txt = $gupload.$_txt;  
                $_r[]= array('type'=>'img', 'data'=>$_txt);  
            }else {  
                $_txt = preg_replace('/&.*?;/', ' ', $_txt);  
                $_txt = preg_replace('/s+/', ' ', $_txt);  
                $_txt = preg_replace(array('/<br.*?>/i', '/<p.*?>/i', '/<li.*?>/i', '/<div.*?>/i', '/<tr.*?>/i', '/<th.*?>/i'),  
                                "
    ", $_txt);  
                $_txt = preg_replace('/<.*?>/', '', $_txt);  
                $_r[]= array('type'=>'txt', 'data'=>$_txt);  
            }  
        }  
        $_data = array('title'=> $title, 'info'=> $inputtime, 'content'=> $_r);  
        echo json_encode($_data);  
        ?>  

    小程序显示文章时请求cms生成的json数据,并通过循环和模版将文章内容显示出来。{{content}}是cms模版输出的json数据,是一条条段落或图片数据组成的数组。

        <template name="img">  
            <view>  
        <image class="content-img" mode="aspectFit" src="{{item.data}}"></image>  
            </view>  
        </template>  
        <template name="txt">  
            <view>  
                <text>{{item.data}}</text>  
            </view>  
        </template>  
                  
        <view class="content">  
            <block wx:for="{{content}}">  
                <template is="{{item.type}}" data="{{item}}"/>  
            </block>  
        </view>  
  • 相关阅读:
    C++ 解析CSV文件
    MFC/WTL 设置背景图和控件透明的方法
    VS2008安装x64版本所遇问题
    VS2012 安装番茄插件
    16年面试提问
    git 使用笔记
    03_运算符、键盘录入、流程控制
    02_java关键字、表识符、注释、进制转换、补码反码、数据类型转换
    01_计算机和java基础
    10 js一维数组、一维数组细节
  • 原文地址:https://www.cnblogs.com/zouzhe0/p/6269506.html
Copyright © 2011-2022 走看看