建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 网站地图 | 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:建站技术网 > cms教程 > 帝国cms教程

帝国cms在生成页面时将文字内容转换为unicode(utf8)编码的方法

时间:2019-05-12 11:12:37  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次

我们在生成内容时,有时需要将页面的编码转换为Unicode内码格式,也就是中文文字都变为《技术有限公司》这种样式,但帝国cms并没有提供这种功能。

实际这种格式为NCR格式,也就是Numeric character reference.

转换为这种编码格式,并不影响浏览器的正常解析,仍然可以转换为正确的文字,也并不影响搜索引擎收录(相反的,经过我们收集各方的经验,发现这种方式对收录也有部分帮助,特别是可以越过360安全浏览器的软件对于页面上不和谐的关键词的检测。但CMS大学小编尚未查证,姑且相信吧)

我们这里只讨论方法,由于php也没有提供类似的内置函数来直接输出,所以我们写了一段函数来处理这个问题,代码如下:

折叠PHP 代码
  1. function nochaoscode($str$encode = "utf-8")  
  2. {  
  3.     if (!function_exists("iconv") || !function_exists("mb_strlen")) {  
  4.         return $str;  
  5.     }  
  6.   
  7.     $str = iconv($encode"utf-16"$str);   
  8.     for ($i = 0; $i < mb_strlen($str); $i+=2) {   
  9.         $code = ord($str{$i}) * 256 + ord($str{$i + 1});   
  10.         if ($code < 128) {  
  11.             $output .= chr($code);   
  12.         } else if ($code != 65279) {  
  13.             $output .= "&#" . $code . ";";   
  14.         }  
  15.     }  
  16.   
  17.     return $output;   
  18. }  

将上面的函数放在 /e/class/functions.php 文件最上方,作为第一个函数。因为我们是要修改帝国的文件生成部分,来实现生成文件时自动将文字输出位这种编码格式。接下来我们修改生成函数,这里涉及到内容页、栏目页、首页、自定义页面等等部分。

首先我们搜索

折叠XML/HTML 代码
  1. //内容页替换公共标记  

折叠PHP 代码
  1. $temp=str_replace('[!--pagetitle--]','<?=$grpagetitle?>',$temp);  

修改为:

折叠PHP 代码
  1. $temp=str_replace('[!--pagetitle--]','<?=nochaoscode($grpagetitle)?>',$temp);    

然后我们搜索

折叠PHP 代码
  1. $indextext=RepBq($indextext);  

修改为:

折叠PHP 代码
  1. $indextext=nochaoscode(RepBq($indextext));  

 

ps:还有更多部分,这里我们不再一一叙述,总之,将该文件中涉及到文件生成的函数再输出内容时都用我们前边写的函数转换一下,写入文件后就大功告成了。这里我们直接附上附件供大家参考(适用于帝国cms7.2 UTF8版本,其他版本请参照前文的思路自行修改)。

修改后的文件生成效果:

帝国cms在生成页面时将文字内容转换为unicode(utf8)编码的方法.jpg

 

 

functions.rar
文件类型: .rar functions.rar (40.71 KB)

 

标签:
文章标题:帝国cms在生成页面时将文字内容转换为unicode(utf8)编码的方法
文章网址:http://www.jzjsw.com/cmsJiaocheng/diguocms/11350.html
上一篇:帝国CMS实现/d/file/附件图片目录与网站分离实现远程附件
下一篇:帝国cms模板制作 - 后台评论模板修改使用方法详解
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门