最近没事,打算把自己的小项目改造为mip,进行测试学习,想把资讯栏目:http://zhimo.yuanzhumuban.cc/news/。全部改造为mip。但是MIP改造一项是:图片标签的改造。而且dt内核跟其他不一样,不像wordpress和织梦一样简单,网上的资料也很少,所以本人就自己写了一个正则替换,希望对大家MIP改造有所帮助。本代码由我自己原创,如有更好的方法,可以一起交流,可以关注我的网站:http://zhimo.yuanzhumuban.cc/

废话不多说,开始!

=======================================================================================================================

首先第一步,找到你修改的模块,我以资讯模块为例:

路径为:/module/article/show.inc.php

然后打开,大概在18行左右 插入一下代码,进行正则替换

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 = 'http://'.$_SERVER['HTTP_HOST'].$url;
}else{
$url = 'http://'.$_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;
} $content=mip_replace($content);

这样就好了,以上就是个人的写法,如有其他好方法可以分享交流!

dt6.0之mip改造-img正则替换mip-img的更多相关文章

  1. PHP模板引擎正则替换函数 preg_replace 与 preg_replace_callback 使用总结

    在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:P ...

  2. MIP改造常见问题二十问

    在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...

  3. php中的正则函数主要有三个-正则匹配,正则替换

    php中变量的声明? 由于php声明变量的时候, 不支持使用 var关键字, 又不能直接写一个变量名字, 孤零零的放在那里, 所以, 在php中声明变量的方式, 同时也是给变量初始化的形式, 即: & ...

  4. PHP函数preg_replace() 正则替换所有符合条件的字符串

    PHP preg_replace() 正则替换,与JavaScript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. preg_replace (正则表达式 ...

  5. PHP preg_replace() 正则替换所有符合条件的字符串示例

    PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素.  需要用程序处理的数据并不总是预先以数 ...

  6. Fiddler AutoResponder正则替换

    今天感冒,写简单些. Fiddler AutoResponder正则替换: regex:(?inx).+20150826_1_1_386.mp4/playlist.m3u8.*$ .表示任意字符 *: ...

  7. 正则替换replace中$1的用法以及常用正则

    一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement)参数一 ...

  8. 【python】正则替换

    正则替换可以使用函数 例如:替换字符串中所有#1.2.3.4#格式中的数字为0 import re def replace(x): def _replace(matched): m = matched ...

  9. Python正则替换字符串函数re.sub用法示例(1)

    本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...

随机推荐

  1. PHPExcel 中文使用手册参数详解 三

    设置excel的属性:创建人$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");最后修改人$ob ...

  2. spring security进阶2 添加账户并对账户密码进行加密

    目录 spring security 添加账户并对账户密码进行加密 一.原理分析 1.1加密原理 1.2加密后的登录过程 二.代码实现 2.1添加用户的页面如下, register.html 2.2c ...

  3. (一)Python的特点(优点和缺点)

    Python 是一种面向对象.解释型的脚本语言,同时也是一种功能强大而完善的通用型语言.相比其他编程语言(比如 Java),Python 代码非常简单,上手非常容易. Python优点: (1)简单易 ...

  4. Linux中DHCP服务器的简单配置(转)

    我安装了两台linux系统,一个作为服务器,一个客户端 两个都有3个网卡, 后两个网卡聚合为zhi一个网卡:Linux 网卡聚合 两台电脑都一样. 那么如何为这个聚合网卡进行DHCP的分配呢? 1.由 ...

  5. CodeForces-1152C-Neko does Maths

    C. Neko does Maths time limit per test:1 second memory limit per test:256 megabytes input:standard i ...

  6. go 连接到数据库

    package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/ ...

  7. 【C#】上机实验三

    实验1: 定义一个 TimePeiod 类 包含: hour , minute , second 实现时间的在 时分秒上的加法. using System; using System.Collecti ...

  8. redis GEO的使用

    一.概念 redis的GEO特性在Redis3.2版本发布,这个功能可以将用户给定的地理位置信息储存起来,并对这些信息进行操作. GEO常用语LBS(Location Based Service),基 ...

  9. iOS webrtc资料总结

    1. webrtc远端图像尺寸改变时,如何调整webrtc ios view的大小 https://www.jianshu.com/p/5e1a8f5bbcf7 2. webRTC实现音频通话听筒和扬 ...

  10. Java 之 Servlet 体系结构

    Servlet 的体系结构 体系结构示意图: 1.Servlet 接口 如果直接实现这个接口,需要重写里面所有的方法,但是只需要使用 service() 方法,其他的不常用. 2.GenericSer ...