织梦CMS改造mip教程
style标签去除
我们在里面会更改字的样子,就会产生style,又得替换
还是一样主体内容 {dede:field.body function='replaceurl(@me)'/} 这样调用,具体如果还需要详细的话可以更改里面的正则表达式
打开include/arc.archives.class.php 文件 ,大概在1219行,在变量$key_url前面加上自己的链接,与href前面加上 data-type=mip
unset($row);下面,大概253行添加如下代码:
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; }1
mip规范结构大致如上代码,具体的就自行修改。
$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'];
不去掉文章style
比较麻烦,网上看见的,没测试是否可行,可以自行研究下,大概就是提取body里面的style生成class然后再调用到头部去
function replacePicUrl($content = null, $url="") { $pattern = "/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i"; $replacement = "<mip-img src=http://w2289556365/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; }function replaceurl($content){ $pattern = Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i"); $replacement = Array("<mip-img popup src=http://w2289556365/a/dedejq/$3.$4></mip-img>",">"); $content = preg_replace($pattern, $replacement, $content); return $content; }
因为我的并没有用多少style所以懒搞的了。
function replaceurl($content){ $pattern = Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i",'/<ab[^>]+bhref="([^"]*)"[^>]*>/i'); $replacement = Array("<mip-img popup src=http://w2289556365/$3.$4></mip-img>",">",'<a data-type="mip" href=http://mip.lol9.cn$1>'); $content = preg_replace($pattern, $replacement, $content); return $content; }(1)、找到include/arc.archives.class.php,找到函数ReplaceKeyword($kw,&$body),大概1182行,在这个函数后面添加如下2个函数:
文章内链更换注明:内链请勿填写绝对地址,还是在上面2、3的方法里面改,还是增加一个变量正则,然后替换。
$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>
$this->Fields['filename'] = empty($this->Fields['filename'])? '' : $this->Fields['filename'];下面添加如下代码:
我增加了一个函数,在include 里面的extend.func.php 下。这个应该所有的php后台都是试用的
mip图片改造图片的格式需要换成<mip-img layout="responsive" src=http://w2289556365/a/dedejq/"/st/images/logo-b.png"></mip-img>
文章文档关键词链接更换如果你用了织梦自带的关键字加链接,在核心》批量维护》文档关键词维护里面,那么就要替换成绝对地址与增加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://w2289556365/a/dedejq/"https:/c.mipcdn.com/static/v1/mip.css"> <script src=http://w2289556365/a/dedejq/"/dist/js/jquery.js" type="application/json" async></script> <style mip-custom> 样式 </style> </head> <body> <mip-img layout="responsive" src=http://w2289556365/a/dedejq/"[!--news.url--]dist/img/logo.png" ></mip-img> <script src=http://w2289556365/a/dedejq/"https:/c.mipcdn.com/static/v1/mip.js"></script> </body> </html>
$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='$key_url'><u>$key</u></a>"; }
(3)、找到函数MakeHtml($isremote=0),大概358行,在里面的
后面又研究了下,如果是用的织梦的编辑器,就会产生style,于是我又弄了另外一个然后织梦调用主体内容 {dede:field.body function='replaceurl(@me)'/} 执行了下函数替换了img标签。
$this->SplitTitles = Array();上面,(2)在函数ParAddTable()里的
这个的话就直接把style去掉了,好歹解决了吧!推荐用下面这个。
1
function replaceurl($content){ $pattern = Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i"); $replacement = Array("<mip-img popup src=http://w2289556365/a/dedejq/$2$3.$4$2></mip-img>",">"); $content = preg_replace($pattern, $replacement, $content); return $content; }本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jz/dedecms/5625.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
织梦友情链接调用和图片
时间:2020-12-29
-
dedecms织梦会员登录二级域
时间:2020-12-29
-
织梦cms手机站首页不更新
时间:2020-12-29
-
织梦DEDECMS提示信息提示框
时间:2020-12-24
-
使用织梦cms做多语言的网
时间:2020-12-24
-
织梦去掉上传图片的水印
时间:2020-12-24
-
DedeCMS Error:Tag disabled:"p
时间:2020-12-24
-
DEDECMS图文分离存放在另一
时间:2020-12-24
热门文章
-
DedeCMS站点高级安全策略(Linux篇)
时间:2020-12-16
-
阿里云主机安装织梦系统出现data无写入权
时间:2020-12-17
-
织梦教程:织梦怎么整合Discuz站点
时间:2020-12-14
-
织梦批量删除文章内容数据库里所有超链
时间:2020-12-17
-
织梦dedecms系统UTF8版编辑器中多图发布按
时间:2020-12-16
-
织梦更换UEditor编辑器后栏目内容、单页无
时间:2020-12-17
-
织梦关键词自动添加链接设置方法
时间:2020-12-15
-
如何防止别人盗用你的织梦模板
时间:2020-12-14
-
织梦dedecms熊掌号时间因子改造教程
时间:2020-12-13
-
DedeCms织梦系统后台把某篇文章设置置顶
时间:2020-12-15
