`
化蝶自在飞
  • 浏览: 2306160 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

基于phpcms的百度mip内容转换方法(适用任何cms)

阅读更多

百度在2016年底推出了mip,具体可以百度搜索下是个什么情况,本代码是基于php实现的内容替换方法,不仅限于phpcms,任何其他cms都可以用.

注意仅仅是替换正文内容(标题也行)的,不是整套的模板解决方案哦.

 

<?php
/**
 * 百度mip内容标准替换方法
 *
 * @author yunbinbai@foxmail.com for http://www.soyiyuan.com/city/
 * @createtime 2017-1-11
 * @modifytime
 * @param string $content 待转换的内容正文
 * @return string
 */
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;
			}
?>

 

本代码考虑了编码问题,针对图片/样式等进行了替换,符合百度对mip的规范要求,有任何问题的可以跟帖说明.

使用方法:以上代码直接放到公共全局文件,或者模板里都行,

然后调用 mip_replace($content) ,变量$content根据你模板定义的来.

 

分享到:
评论

相关推荐

    PHPCMS_V9百度推送插件

    PHPCMS_V9百度推送插件,发布文章的时候会自动推送到百度站长平台。

    PHPCMS百度站长推送工具.zip

    百度站长平台一键推送百度功能,自己实际体验了一下,非常好用,也真的能用。不骗人,操作不好的随时可以找我。

    基于phpCMS新闻增删改

    基于phpCMS新闻增删改

    phpcms,一款强大的cms

    phpcms 一个强大的cms,很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很...

    phpcms v9 整合 百度编辑器

    使用phpcms v9 原生态的后台编辑器,有很多不便,各种不太好使。结合百度编辑器 整合到 phpcms v9 中。

    PHPCMS V9 数据库操作方法

    数据库的操作基本也就增删改查四类,本文主要列出PHPCMS V9的数据库操作类常用的增删改查的使用方法,为我们对PHPCMS二次开发时对数据库操作时提供帮助。

    PHPCMS_V9百度推送插件444.zip

    PHPCMS_V9百度推送插件,发布文章的时候会自动推送到百度站长平台

    phpcms v9很好用的cms

    phpcms 软件 PHPCMS v9 特色介绍全新框架 采用全球认可的最为先进的开放理念——OOP(面向对象),进行全新框架设计。框架结构更为清晰,代码更易于维护。模块化做为功能的开发形式,让扩展性得到保证。V9特别设计的...

    百度新闻规则插件 for phpcms2008.zip

    phpcms2008百度新闻规则插件 适用于phpcms2008所有发布版本 作者:月 影 注意:所有文件编码是gbk,如果您的网站编码是utf-8,请将admin/googlemap.inc.php,googlesitemap.tpl.php转化为utf-8再覆盖到对应位置...

    PHPCMS_V9附件自动放到百度云存储

    从网上找了PHPCMS附件到百度云储存的插件,找不到,就自己动手写了个,远程附件自动到百度云,本地上传文件自动到,数据库自动更新为百度云的附件地址,目前有个小BUG,用这个扩展后,缩略图和水印功能不能用了,正在...

    基于PHPCMS开发的个人博客模块插件 for Phpcms2008.rar

    个人博客模块是在上次给公司二次开发程序上重新整理和制作出来的,由于是制作成了相应的模块,所以可以卸载、安装了,不再是和phpcms的核心代码集成在一起,因此对于phpcms的频繁升级也就方便应用和部署了。...

    [CMS程序]动易2006 到 phpcms 3.0 转换程序_petophpcms3.zip

    [CMS程序]动易2006 到 phpcms 3.0 转换程序_petophpcms3.zip

    数据库批量替换(PHPCMS数据表内容批量替换_gbk版)

    1. 本插件为GBK版,在PHPCMS最新版V9.6.0上测试通过。原则上支持所有PHPCMS v9系统,正式使用前请先测试。 2. 将此文件上传到PHPCMS根目录即可。然后登陆后台——&gt;模块——&gt;模块管理,找到本插件:“数据库批量替换...

    Phpcms X (原PHPCMS)长期维护版

    PHPCMS X 是基于PHPCMS V9 (9.6.3)上优化完善而来的,对PHPCMS V9进行了全面的优化和持续的安全修复及维护,并对部分功能做了延伸,PHPCMSX是PHPCMS众多fans的社区维护版。 PHPCMS X 不同于其他phpcms修改版,PHPCMS...

    PHPCMS实现数据表内容批量替换_gbk版

    插件名称:PHPCMS数据表内容批量替换 适用版本:v9 语言编码:GBK,gb2312简体 插件介绍:支持对所有单表所有字段内容进行批量替换。 适用版本号:Phpcms V9

    phpcmsv9内容管理系统

    phpcmsv9内容管理系统。架。框架易扩展,稳定且具有超强大负载能力,完全可以满足政府机构、教育机构、事业单位、商业企业、个人站长使用。

    [CMS程序]Dedecms 5.3 到 phpcms 2008 转换程序_dedecms_to_2008.zip

    [CMS程序]Dedecms 5.3 到 phpcms 2008 转换程序_dedecms_to_2008.zip

    phpcms.rar_cms_cms php_php cms_php 新闻 系统_phpcms

    cms 内容管理系统, 对内容的添加与删除, 新闻的管理,以及留言板的管理

    PHPCMS V9.6.6 修改版

    PHPCMS V9.6.6 修改版 修改内容列表: 1.修改后台界面 2.修改前台界面 3.修改phpcms目录为cms ...7.安装完删除安装目录 8.安装删除友情链接、广告数据 ...PHPCMS 插件安装方法: 将PHPCMS目录改成CMS目录 替换根目录即可

    phpcms PHP做的很经典的cms

    功能很强大,操作简单,界面漂亮,供大家学习

Global site tag (gtag.js) - Google Analytics