织梦cms教程

织梦CMS改造mip教程

我的站长站 2019-04-11 人阅读

页面整体结构改造

<!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="https://c.mipcdn.com/static/v1/mip.css">
<script src="/dist/js/jquery.js" type="application/json" async></script>
<style mip-custom>
样式
</style>
    </head>
    <body>
<mip-img layout="responsive" src="[!--news.url--]dist/img/logo.png" ></mip-img>
<script src="https://c.mipcdn.com/static/v1/mip.js"></script>
    </body>
</html>

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

mip图片改造

图片的格式需要换成<mip-img layout="responsive" src="/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;
}

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

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

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

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

style标签去除

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

function replaceurl($content){
$pattern = Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i");
$replacement = Array("<mip-img  popup  src=$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={$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;
}

(2)在函数ParAddTable()里的

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

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行,在里面的

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

下面添加如下代码:

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

文章内链更换

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

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

文章文档关键词链接更换

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

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

$query = "SELECT * FROM dede_keywords WHERE rpurl<>'' ORDER BY rank DESC";
$this->dsql->SetQuery($query);
$this->dsql->Execute();
while($row = $this->dsql->GetArray())
{
$key = trim($row['keyword']);
$key_url=trim($row['rpurl']);
$karr[] = $key;
$kaarr[] = "<a  data-type=mip href='http://mip.lol9.cn$key_url'><u>$key</u></a>";
}


相关推荐
  • MIP
  • 代刷网源码
  • ueditor
  • DEDECMS百度MIP模板免费下载
    DEDECMS百度MIP模板免费下载

    模板说明MIP模板截图本模板为百度MIP手机版,尽量不动主站任何东西,实现和主站数据通用的话,只需主站添加一个MIP地址的系统参数。添加MIP地址步骤进入后台,以此点击 “系统” “系统基本参数” “添...

    织梦cms模板 2035 5年前
  • WordPress百度MIP手机模板
    WordPress百度MIP手机模板

    WordPress百度MIP手机模板为了让更多的WordPress同学更快更方便的引入百度MIP,享受百度MIP带来的流量、权重或者是快感。WordPress百度MIP手机模板同时发布免费版和收费版。MIP模板截图WordPress ...

    wordpress模板 313 5年前
  • wordpress餐饮行业百度mip模板
    wordpress餐饮行业百度mip模板

    wordpress餐饮行业百度mip模板是基于wordpress改造的百度mip模板,模板风格简单大气,适合所有行业使用。模板文件完整无错,同时也非常适合大家学习制作mip模板。mip模板截图...

    wordpress模板 237 5年前
  • php蓝星QQ代刷网源码下载+视频教程
    php蓝星QQ代刷网源码下载+视频教程

    哈喽,大家好我是蓝星,今天给大家实战搭建一下蓝星代刷网(大佬请忽略)这个版本是没有后门和授权的,拿去用就可以了!现在开始教学搭建,首先我们使用的是主机搭建打开我们的面板然后上传源码到主机,上传好之...

    php源码 315 3年前
  • 最新QQ代刷网源码免授权版
    最新QQ代刷网源码免授权版

    最新QQ代刷网源码免授权版,上传到空间后直接访问即可根据提示安装。QQ代刷网源码截图源码更新说明V5.011.解密源码2.去除授权检测、set文件大小判断清空目录代码3.去除非官方认证易支付无法对接问...

    php源码 516 3年前
  • php祥云代刷自助下单系统源码
    php祥云代刷自助下单系统源码

    源码介绍php祥云代刷自助下单系统源码修复版,修复了隐藏订单详细信息密码字段;修复未登录点击分站开通提成负数;文章只显示标题;分类-支付禁用,增加禁用余额;自定义商品名修复;清空qq授权登录缓存;新增 ...

    php源码 365 2年前
  • ueditor百度编辑器路径加载错误解决方法

    ueditor路径错误分析如果你的帝国CMS使用了ueditor百度编辑器可以收藏下这篇文章,网站环境如果使用了CDN或者其他缓存服务,那么ueditor百度编辑器的初始化样式文件路径加载就会错误。所有的样式文件加载路径都解析错误了,查看后发现是ueditor.config.js...

    帝国cms教程 90 2年前
  • 帝国cms7.0整合百度编辑器ueditor教程
    帝国cms7.0整合百度编辑器ueditor教程

    帝国cms7.0整合百度编辑器ueditor教程开始1、根据自己使用的帝国cms版本编码下载对应的ueditor版本下载地址 http://ueditor.baidu.com/website/download.html#ueditor 2、解压附件,重命名为”ued...

    帝国cms教程 1435 10年前
  • discuz二次开发更换百度ueditor编辑器

    修改前必读:1、修改编辑器后会造成以前发过的帖子再次进行修改时(也就是编辑帖子操作)出现很多被DZ重写过的html标签,不方便进行修改,所以尽量在安装DZ后立刻进行修改。(当然,如果你有能力重写代码的话就可以无视啦)2、修改前请先在本地进行尝试或备份相关...

    discuz教程 1026 7年前
最新更新