pbootcms小程序解析页面出现空白或者解析页面失败的问题

背景:在pbootcms与小程序互通的过程中,使用的是wxParse进行解析html页面,因为小程序不支持复杂的样式,所以有的时候小程序页面会显示空白等解析失败问题,这里就是为了解决这个问题

核心思路:

在请求api.php的过程中针对pb返回的页面内容事先通过正则的方式进行去除一些不能解析的代码

处理步骤:

1)在\apps\api\controller\ContentController.php 中添加一行调用解析方法的代码

 

 

 

$data->content = KillStyle($data->content);
2)在\apps\common\function.php 中添加KillStyle方法

 

 

复制代码
function KillStyle($content)
    {
        //echo"进入KillStyle====";
        //var_dump($content);
    $content = preg_replace("/STYLE=.+?['|\"]/i",'',$content);//去除样式 
    $content = preg_replace("/style=.+?['|\"]/i",'',$content);//去除样式
    //var_dump($content);
    $content = preg_replace("/class=.+?['|\"]/i",'',$content);//去除样式
    $content = preg_replace("/id=.+?['|\"]/i",'',$content);//去除样式
    $content = preg_replace("/class=.+?['|\"]/i",'',$content);//去除样式  
    $content = preg_replace("/id=.+?['|\"]/i",'',$content);//去除样式     
    $content = preg_replace("/lang=.+?['|\"]/i",'',$content);//去除样式      
    $content = preg_replace("/width=.+?['|\"]/i",'',$content);//去除样式   
    $content = preg_replace("/height=.+?['|\"]/i",'',$content);//去除样式   
     $content = preg_replace("/border=.+?['|\"]/i",'',$content);//去除样式   
     $content = preg_replace("/face=.+?['|\"]/i",'',$content);//去除样式   
     $content = preg_replace("/face=.+?['|\"]/",'',$content);//去除样式只允许小写正则匹配没有带 i 参数
      $content = preg_replace("/<a[^>]*>/i", "", $content);  
     $content = preg_replace("/<\/a>/i", "", $content);   
     $content = preg_replace("/<div[^>]*>/i", "", $content);  
     $content = preg_replace("/<\/div>/i", "", $content);      
     $content= preg_replace("/<!--[^>]*-->/i", "", $content);//注释内容
     $content= preg_replace("/|<\/p>/is","", $content);
      $content= preg_replace("/|<\/span>/is","", $content);
    $content = preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$content); //过滤script标签
    
    return $content;
    }
复制代码

栗子:

pc网站:

http://www.mybancai.cn/industry/107.html

 

 


上面红圈部分,基本上是直接解析不了的

小程序页面:

https://b5u7wv.smartapps.cn/pages/news-detail/news-detail?id=107



 

posted @   玄之又玄众妙之门  阅读(200)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

哦哦查

研学服务

知芽网

醉学网

点击右上角即可分享
微信分享提示