雷速体育足球直播:

您的位置:雷速体育答题测试答案 > PHP學習 > phpcms實現手機版mip不顯示style屬性

phpcms實現手機版mip不顯示style屬性

時間:2018-03-15 10:23:56  來源:免費模板網 作者:風雪 閱讀次數 tagsphpcmsmip

小編最近對網站手機版進行mip改造,根據mip的要求,不允許有內連的style,那么之前的直接輸出文章內容肯定是不符合要求的,還有一個img標簽也不支持,要改造成mip-img,知道原理了也簡單,就是字符串的過濾,這個要求對正則表達式熟悉,現在就體現到開源系統的好處了,用的人多。網上肯定有答案,不過就是花時間去找,去核對。小編已經為大家整理好了

找到文件/phpcms/modules/wap/functions/global.func.php 

然后加入字符串過濾,小編提供2種方式

方式一

<?php  
/** 
 * 百度mip內容標準替換方法 
 * 
 * @author [email protected] for //www.soyiyuan.com/city/ 
 * @createtime 2017-1-11 
 * @modifytime 
 * @param string $content 待轉換的內容正文 
 * @return string 
 */  
function mip_replace($content = ''){  
    $pattern1 = "#<img.*?src=['\"](.*?)['\"].*?>#ims";  
        $imgcontent=array();  
        preg_match_all($pattern1,$content,$img);  
        $imgcontent = $img[0];  
        $imgurl = $img[1];  
        foreach($imgcontent as $imgk=>$imgv)  
        {  
          $temp =  str_replace('<img','mip-img',$imgv);  
          $temp = str_replace('/>','></mip-img',$temp);  
          $url = $imgurl[$imgk];  
          $url = mip_format_img_url($url);  
  
          $temp = preg_replace("/src=['\"].*?['\"]/si","src=\"$url\"",$temp);  
          $mipimg[$imgk] = $temp;  
        }  
  
        $content = preg_replace($imgcontent,$mipimg,$content);  
        $content =preg_replace("/<a /si","<a target=\"_blank\" ",$content);  
        $content =preg_replace("/style=\".*?\"/si","",$content);  
          
        return mip_utf8($content);  
          
}  
  
        function mip_format_img_url( $url = ''){  
            if(stripos($url, 'http') === 0 || stripos($url, 'ftp') === 0 ){  
                return $url;  
            }  
            if(stripos($url, '/') === 0){  
                $url = '//'.$_SERVER['HTTP_HOST'].$url;  
            }else{  
                $url = '//'.$_SERVER['HTTP_HOST'].'/'.$url;  
            }  
            return $url;  
        }  
  
  
  
            function mip_utf8($string = '') {  
  
                $fileType = mb_detect_encoding($string , array('UTF-8','GBK','LATIN1','BIG5'));  
                if( $fileType != 'UTF-8'){  
                    $string = mb_convert_encoding($string ,'utf-8' , $fileType);  
                }  
                return $string;  
            }  
?>

方式2

/**
* mip內容圖片替換
*/
function content_mip($content) {

   $content = preg_replace('/<img[^>]*src=[\'"]?([^>\'"\s]*)[\'"]?[^>]*>/ie', "'<mip-img data-carousel=\"carousel\"  class=\"mip-element mip-img\"  src=\"$1\"></mip-img>'", $content);

   //匹配替換過的圖片
   $content = preg_replace("/style=.+?['|\"]/i",'',$content);

   return $content;
}

小編偏向方式2,小編發現不是站內的圖片 方式一不能替換img標簽,方式2可以,雖然方式1感覺代碼寫的更6,各位代碼大神可以在原基礎上擴展完善。

然后頁面輸出

{mip_replace($rs['content'])}

就可以看到標準的mip格式啦,是不是棒棒噠。附上檢測網址https://www.mipengine.org/validator/validate

本文地址://www.384142.live/php/2018/0315/2987.html

猜你喜歡
欄目推薦
模板推薦

Copyright:雷速体育答题测试答案 www.384142.live 免費模板網 All Rights Reserved 雷速体育答题测试答案   遼公網安備 21010602000376號  遼公網安備:42900402000182號

免責聲明:本站部分資源來自互聯網收集,版權歸原創者所有,如果侵犯了你的權益,我們會及時刪除侵權內容,聯系QQ:1615187561 謝謝合作!

{ganrao} 大地棋牌官方唯一指定 哈尔滨52麻将下载手机版 网上兼职赚钱日结学 怎么在手机上玩qq麻将 六台彩图库资料2020 上海麻将游戏下载 网络捕鱼游戏平台出租 永利棋牌游戏平台 手机版捕鱼大亨 九游棋牌苹果下载安装 捕鱼斗地主现金手机版 快赢481近500期走势图 nba录像回放像 pk10 3码最牛计划群 哈灵麻将最新版app官网 香港三五图库精选