欢迎来到欣怡建站!我们致力于提供优质的网站建站服务
注册

织梦CMS改造mip教程

相关案例演示

页面整体结构改造 <!DOCTYPE html> <html mip> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <link rel="stylesheet" type="text/css" href=http://www.dede58.com/a/dedejq/"https:/c.mipcdn.com/static/v1/mip.css"> <script src=http://www.dede58.com/a/dedejq/"/dist/js/jquery.js" type="application/json" async></script> <style mip-custom> 样式 </style> </head> <body> <mip-img layout="responsive" src=http://www.dede58.com/a/dedejq/"[!--news.url--]dist/img/logo.png" ></mip-img> <script src=http://www.dede58.com/a/dedejq/"https:/c.mipcdn.com/static/v1/mip.js"></script> </body> </html>  

 

 

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

mip图片改造

图片的格式需要换成<mip-img layout="responsive" src=http://www.dede58.com/a/dedejq/"/st/images/logo-b.png"></mip-img>

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

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

后面又研究了下,如果是用的织梦的编辑器,就会产生style,于是我又弄了另外一个然后织梦调用主体内容 {dede:field.body function='replaceurl(@me)'/} 执行了下函数替换了img标签。

 

function replaceurl($content){ $pattern = Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i"); $replacement = Array("<mip-img popup src=http://www.dede58.com/a/dedejq/$2$3.$4$2></mip-img>",">"); $content = preg_replace($pattern, $replacement, $content); return $content; }
 

 

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

style标签去除

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

1

function replaceurl($content){ $pattern = Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i"); $replacement = Array("<mip-img popup src=http://www.dede58.com/a/dedejq/$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个函数:

function replacePicUrl($content = null, $url="") { $pattern = "/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i"; $replacement = "<mip-img src=http://www.dede58.com/a/dedejq/{$url}$3.$4></mip-img>"; $content = preg_replace($pattern, $replacement, $content); return $content; } function getStyle($content = null){ preg_match_all("/style=('|")([^'"]+)('|")/", $content,$matches); $styles = $matches[0]; $styles_value = $matches[2]; $style_custom = ""; $i = 0; foreach($styles_value as $key){ $style_custom .= ".class".$i."{".$key."}"; $class_name = 'class="class'.$i.'"'; $replacements = $class_name; $patterns = $styles[$i]; $content = str_replace($patterns, $replacements, $content); $i++; } $res['style_custom'] = $style_custom; $res['content'] = $content; return $res; }  

$this->SplitTitles = Array();上面,(2)在函数ParAddTable()里的

unset($row);下面,大概253行添加如下代码:

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

 

 

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

作者:欣怡建站 挑错 时间:2020-08-13 09:28
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
相关教程
在线客服