【MIP技术分享】dedecms/gbk站点mip改造方案
$html=str_replace('<metacharset="gb2312">','<metacharset="utf-8">',iconv('gbk','utf-8//ignore',$html));//转换为utf-8编码声明,fwrite会以此生成对应编码的静态页面 $html=str_replace('<a','<a target="_blank" ',$html);//<a>标签加target $html=str_replace('<img','<mip-img ',$html);//替换<img>标签 /*主要针对编辑器生成的内联样式,将内联样式转换到head的style标签中*/ if(preg_match_all('/sstyles*=s*['"](.*?)['"]/',$html,$css)){ $css0=array_unique($css[0]);//过滤重复style foreach($css0as $k => $v){ $html=str_replace($v,'class="mip_add_css_'.$k.'"',$html);//mip_add_css_为自定义样式名前缀,可自行修改,但需避免与原有样式名重复 $temp_name='mip_add_css_'.$k; $$temp_name=$css[1][$k]; $add_css.='.'.$temp_name.'{'.$css[1][$k]."}n"; } $html=str_replace('<stylemip-custom>',"<style mip-custom>n".$add_css,$html); } fwrite($fp, $html); }else{//pc端执行 fwrite($fp,$this->GetResult()); } fclose($fp); } 注:该方案初步测试成功,因生成静态文件时处理程序增加,理论上来说会对生成效率有所影响。另外,不排除存在问题的可能性,如有问题或其他想法可在百度站长社区回帖共同研究探讨。 · 默认动态移动站: 1、修改/m目录下index.php、list.php、view.php三个php文件的编码,改为utf-8。 2、找到/include/dedetag.class.php文件中解析模板直接输出的函数:
替换为:
如此即可以utf-8编码输出动态页面,其他处理可参照上面静态生成站点方案中的代码。 注:相关网站建设技巧阅读请移步到建站教程频道。 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |