最新公告
  • 欢迎您光临329687站长资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 页面整体结构改造

    <!DOCTYPEhtml>
    <htmlmip>
    <head>
    <metacharset="UTF-8">
    <metaname="viewport"content="width=device-width,minimum-scale=1,initial-scale=1">
    <linkrel="stylesheet"type="text/css"href="https://c.mipcdn.com/static/v1/mip.css">
    <scriptsrc="/dist/js/jquery.js"type="application/json"async></script>
    <stylemip-custom>
    样式
    </style>
    </head>
    <body>
    <mip-imglayout="responsive"src="[!--news.url--]dist/img/logo.png"></mip-img>
    <scriptsrc="https://c.mipcdn.com/static/v1/mip.js"></script>
    </body>
    </html>

    mip规范结构大致如上代码,具体的就自行修改。

    mip图片改造

    图片的格式需要换成

    我增加了一个函数,在include 里面的extend.func.php 下。这个应该所有的php后台都是试用的

    functionreplaceurl($content){
    //$pattern="/<img(.*?)src=(&#039;|")([^>]*).(bmp|gif|jpeg|jpg|png)(&#039;|")(.*?)>/i";
    $pattern="/<img.*?src=[&#039;|"](.*?(?:[.gif|.jpg|.jpeg]|.png]|.bmp]))[&#039;|"].*?[/]?>/";
    preg_match_all($pattern,$content,$matches);
    $full_img=$matches[0];
    $full_src=$matches[1];
    foreach($full_imgas$k=>$v){
    $v1=str_replace("<img","<mip-img",$v);
    $v1=str_replace("/>","></mip-img>",$v1);
    $v1=str_replace(&#039;src="/ueditor&#039;,&#039;src="/ueditor&#039;,$v1);
    $new_path=$url.$full_src[$k];
    $v1=str_replace($full_src[$k],$new_path,$v1);
    $content=str_replace($v,$v1,$content);
    }
    return$content;
    }

    然后织梦调用主体内容 {dede:field.body function='replaceurl(@me)'/} 执行了下函数替换了img标签。

    后面又研究了下,如果是用的织梦的编辑器,就会产生style,于是我又弄了另外一个

    functionreplaceurl($content){
    $pattern=Array("/<img(.*?)src=(&#039;|")([^>]*).(bmp|gif|jpeg|jpg|png)(&#039;|")(.*?)>/i","/style=(.*?)>/i");
    $replacement=Array("<mip-imgpopupsrc=$2$3.$4$2></mip-img>",">");
    $content=preg_replace($pattern,$replacement,$content);
    return$content;
    }

    这个的话就直接把style去掉了,好歹解决了吧!推荐用下面这个。

    style标签去除

    我们在里面会更改字的样子,就会产生style,又得替换

    functionreplaceurl($content){
    $pattern=Array("/<img(.*?)src=(&#039;|")([^>]*).(bmp|gif|jpeg|jpg|png)(&#039;|")(.*?)>/i","/style=(.*?)>/i");
    $replacement=Array("<mip-imgpopupsrc=$3.$4></mip-img>",">");
    $content=preg_replace($pattern,$replacement,$content);
    return$content;
    }

    还是一样主体内容 {dede:field.body function='replaceurl(@me)'/} 这样调用,具体如果还需要详细的话可以更改里面的正则表达式

    不去掉文章style

    比较麻烦,网上看见的,没测试是否可行,可以自行研究下,大概就是提取body里面的style生成class然后再调用到头部去

    因为我的并没有用多少style所以懒搞的了。

    (1)、找到include/arc.archives.class.php,找到函数ReplaceKeyword($kw,&$body),大概1182行,在这个函数后面添加如下2个函数:

    functionreplacePicUrl($content=null,$url=""){
    $pattern="/<img(.*?)src=(&#039;|")([^>]*).(bmp|gif|jpeg|jpg|png)(&#039;|")(.*?)>/i";
    $replacement="<mip-imgsrc={$url}$3.$4></mip-img>";
    $content=preg_replace($pattern,$replacement,$content);
    return$content;
    }
    functiongetStyle($content=null){
    preg_match_all("/style=(&#039;|")([^&#039;"]+)(&#039;|")/",
    $content,$matches);
    $styles=$matches[0];
    $styles_value=$matches[2];
    $style_custom="";
    $i=0;
    foreach($styles_valueas$key){
    $style_custom.=".class".$i."{".$key."}";
    $class_name=&#039;class="class&#039;.$i.&#039;"&#039;;
    $replacements=$class_name;
    $patterns=$styles[$i];
    $content=str_replace($patterns,$replacements,$content);
    $i++;
    }
    $res[&#039;style_custom&#039;]=$style_custom;
    $res[&#039;content&#039;]=$content;
    return$res;
    }

    (2)在函数ParAddTable()里的

    $this->SplitTitles = Array();上面,

    unset($row);下面,

    大概253行添加如下代码:

    $content=$this->replacePicUrl($this->Fields[&#039;body&#039;],$GLOBALS[&#039;cfg_basehost&#039;]);
    $content_arr=$this->getStyle($content);
    $this->Fields[&#039;body&#039;]=$content_arr[&#039;content&#039;];
    $this->Fields[&#039;style_custom&#039;]=$content_arr[&#039;style_custom&#039;];

    (3)、找到函数MakeHtml($isremote=0),大概358行,在里面的

    $this->Fields['filename'] = empty($this->Fields['filename'])? '' : $this->Fields['filename'];

    下面添加如下代码:

    $this->Fields[&#039;style_custom&#039;]=empty($this->Fields[&#039;style_custom&#039;])?&#039;&#039;:$this->Fields[&#039;style_custom&#039;];
    (4)、在templete的article_article.htm模板中的head标签内添加如下代码:
    <stylemip-custom>
    {dede:field.custom_style/}
    </style>

    文章内链更换

    注明:内链请勿填写绝对地址,还是在上面2、3的方法里面改,还是增加一个变量正则,然后替换。www.lol9.cn

    functionreplaceurl($content){
    $pattern=Array("/<img(.*?)src=(&#039;|")([^>]*).(bmp|gif|jpeg|jpg|png)(&#039;|")(.*?)>/i","/style=(.*?)>/i",&#039;/<ab[^>]+bhref="([^"]*)"[^>]*>/i&#039;);
    $replacement=Array("<mip-imgpopupsrc=/$3.$4></mip-img>",">",&#039;<adata-type="mip"href=http://mip.lol9.cn$1>&#039;);
    $content=preg_replace($pattern,$replacement,$content);
    return$content;
    }

    文章文档关键词链接更换

    如果你用了织梦自带的关键字加链接,在核心》批量维护》文档关键词维护里面,那么就要替换成绝对地址与增加mip链接格式

    打开include/arc.archives.class.php 文件 ,大概在1219行,在变量$key_url前面加上自己的链接,与href前面加上 data-type=mip

    $query="SELECT*FROMdede_keywordsWHERErpurl<>&#039;&#039;ORDERBYrankDESC";
    $this->dsql->SetQuery($query);
    $this->dsql->Execute();
    while($row=$this->dsql->GetArray())
    {
    $key=trim($row[&#039;keyword&#039;]);
    $key_url=trim($row[&#039;rpurl&#039;]);
    $karr[]=$key;
    $kaarr[]="<adata-type=miphref=&#039;http://mip.lol9.cn$key_url&#039;><u>$key</u></a>";
    }

    329站长网 » 织梦CMS改造mip教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    329687站长资源网
    一个专注于各种网站源码、程序模板、技术教程分享的站长资源下载平台
    • 5会员总数(位)
    • 2031资源总数(个)
    • 81本周发布(个)
    • 10 今日发布(个)
    • 208稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情