`
化蝶自在飞
  • 浏览: 2332988 次
  • 性别: 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百度站长推送工具.zip

    PHPCMS是一款流行的开源内容管理系统,它为网站管理员和开发者提供了强大的内容管理、发布和维护功能。结合“百度站长推送工具”,我们可以实现更高效的搜索引擎优化(SEO),特别是针对百度这个在中国占据主导地位...

    PHPCMS_V9百度推送插件

    总的来说,PHPCMS_V9的百度推送插件是优化网站SEO不可或缺的工具,它能够帮助网站管理员提高内容的可见性,提升搜索引擎排名,最终带来更多的有机流量。正确配置和使用此插件,将对网站的长期发展起到积极的推动作用...

    PHPCMS_V9百度推送插件444.zip

    PHPCMS_V9是一个功能强大的开源内容管理系统(CMS),广泛应用于网站的建设和管理。该系统支持多语言、多模板和自定义字段,为站长提供了灵活的内容发布和管理解决方案。在SEO方面,PHPCMS_V9的用户群体会发现,将...

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

    【标题】:“动易2006到phpcms 3.0转换程序”是指将基于动易2006内容管理系统构建的网站数据和结构迁移到phpcms 3.0平台的过程。这是一个针对CMS(Content Management System)系统升级或迁移的专业工具,用于帮助...

    phpcms,一款强大的cms

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

    phpcms PHP做的很经典的cms

    PHPcms2008作为一款经典的内容管理系统,不仅适合初学者入门,也适用于专业开发者进行二次开发。通过不断的更新迭代,PHPcms在安全性、性能、易用性等方面都有所提升,成为了许多网站建设和管理的首选工具。

    PHPCMS V9多功能地图插件

    【PHPCMS V9多功能地图插件】是一个专为PHPCMS内容管理系统设计的扩展插件,它提供了多接口地图标注功能,使用户能够在不同版本的PHPCMS V9系统中方便地集成地图服务。这款插件的核心特性是支持多种地图服务商的接入...

    基于phpCMS新闻增删改

    phpCMS是一个广泛使用的开源内容管理系统,专为构建动态网站而设计。基于PHP语言和MySQL数据库,它提供了一个高效、稳定且功能丰富的平台,用于管理和发布各种类型的内容,如新闻、文章等。在这个主题中,我们将深入...

    phpcms.rar_cms_cms php_php cms_php 新闻 系统_phpcms

    【PHP CMS】是一种基于PHP(Hypertext Preprocessor,超文本预处理器)语言开发的内容管理系统,主要用于构建和管理网站的内容。在本压缩包"phpcms.rar_cms_cms php_php cms_php 新闻 系统_phpcms"中,包含的核心是...

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

    【CMS程序】Dedecms 5.3到phpcms 2008转换程序是针对两种不同内容管理系统(CMS)的数据迁移工具。这个过程涉及到将一个网站从DedeCMS 5.3版本升级或迁移至phpcms 2008版本。DedeCMS和phpcms都是国内广泛应用的开源...

    phpcms v9 整合 百度编辑器

    在IT行业中,网站内容管理系统(CMS)是开发者和管理员常用的一种工具,用于高效地创建、管理和发布数字内容。`phpcms v9`是一款基于PHP语言开发的开源内容管理系统,它以其强大的功能和灵活的扩展性受到许多用户的...

    PHPCMS V9 数据库操作方法

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

    phpcmsv9内容管理系统

    `phpcmsv9`是一款基于PHP语言开发的内容管理系统(Content Management System,简称CMS),其设计目标在于提供一个高效、易用、可扩展的平台,用于搭建各种类型的网站,包括政府机构、教育机构、事业单位、商业企业...

    毕业设计:基于PHPCMS系统 PHP+MySQL.zip

    PHP CMS(内容管理系统)是一种基于PHP编程语言和MySQL数据库的网站管理工具,广泛应用于各类网站的快速开发与维护。在"毕业设计:基于PHPCMS系统 PHP+MySQL.zip"这个项目中,我们可以深入探讨PHP CMS的架构、功能...

    PHPCMS后台模板 美化PHPCMS后台

    PHPCMS是一款流行的开源内容管理系统,它为网站开发者提供了强大的后台管理功能。这款系统的灵活性和易用性使得它在Web开发领域中广受欢迎。而"PHPCMS后台模板 美化PHPCMS后台"是针对该系统进行的界面美化工作,主要...

    CMS程序PHPCMS + HDwiki整合版 GBK版-phpcms-hdwiki-gbk.zip

    【PHP CMS程序PHPCMS与HDwiki整合版GBK版】是一种常见的内容管理系统(CMS)解决方案,结合了PHPCMS的强大内容管理功能与HDwiki的高效百科构建能力,以GBK编码格式提供服务。这个整合版主要面向需要搭建内容丰富的...

    PHPCMS 仿80秀网站模板

    PHPCMS 是一款开源的、基于PHP语言开发的内容管理系统(CMS),它提供了强大的网站构建和内容管理功能。"仿80秀网站模板"则是基于PHPCMS系统设计的一款特定主题的网站模板,旨在模仿80秀网站的界面风格和用户体验,...

    phpcms模板(打包)

    phpcms是一款基于PHP语言和MySQL数据库开发的内容管理框架,它以其高度的灵活性、易用性和可扩展性在众多CMS中脱颖而出。模板系统是phpcms的核心部分,允许用户根据需求自定义网站的外观和布局,无需深入编程即可...

    PHPCMS资源网站源码软件源码下载站网站源码

    PHPCMS是一款基于PHP语言和MySQL数据库开发的内容管理系统(CMS),在中国的开源CMS领域有着广泛的应用。它提供了强大的网站建设和管理功能,适用于构建新闻资讯、下载站点、企业官网等多种类型的网站。PHPCMS以其...

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

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

Global site tag (gtag.js) - Google Analytics