/* 主要针对编辑器生成的内联样式,将内联样式转换到head的style标签中 */
if(preg_match_all('/\sstyle\s*\=\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文件中解析模板直接输出的函数:
function Display()
{
echo $this->GetResult();
}
替换为:
function Display()
{
$html=str_replace('<meta charset="gb2312">','<meta charset="utf-8">',$this->GetResult()); //转换为utf-8编码声明,此处源内容$this->GetResult()不需要转编码
echo $html;
}
如此即可以utf-8编码输出动态页面,其他处理可参照上面静态生成站点方案中的代码。
标签:织梦DedeCMS
相关阅读 >>
dedecms负载性能优化实例,三招让你的dedecms快10倍以上第12页
更多相关阅读请进入《织梦DedeCMS》频道 >>