免費模板網標簽tags 更多...
整站模板下載

加入代代SEO你會得到什么?

1、

代代論壇,實戰原創教程/附軟件+課件 (終身)!

2、

代代SEO會員群,提供售后問答 永久加群。

3、

主流空間商服務器核心永久代理,官方5-7折。

4、

輔助排名系統/整站排名系統 永久核心代理。

5、

千套源碼/官網單獨售價幾百R的源碼 永久VIP!

6、

站群/泛解析類程序“精品論壇”永久VIP。

7、

親測各類插件/工具/源碼等收費資源 永久下載。

8、

終身會員價格298,加入聯系QQ:1615187561

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

雷速体育官方下载:phpcms實現手機版mip不顯示style屬性

時間:2018-03-15 來源:網上收集 作者:Tony 閱讀次數 tagsphpcmsmip

雷速体育答题测试答案 www.384142.live 小編最近對網站手機版進行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號

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

{ganrao}