拓荒者网络 专业提供邯郸网站建设邯郸网站优化等服务!
我们只为欣赏我们的朋友而努力,只为认可我们的客户而战斗!
网站首页 关于我们 网站报价 网站知识 行业新闻 社会新闻 最新案例 留言咨询 联系我们
拓荒者网络-专业的品质 完善的服务
  您的位置:拓荒者网络 >> 文章内容  
关于函数mb_strimwidth调用文章,标题限制字数时出现的乱码问题及解决方法
作者:邯郸网站建设   文章来源:拓荒者网络   点击数:2330   添加时间:2013-11-9
 

在做php的文章调用时,会用到函数mb_strimwidth,而首页在调用时一般会限制输入的字符长度,在本地测试时调用正常,但是当把网站上传到空间后,页面中调用标题或者内容的地方,凡是限制字数的就出现乱码。起初一直以为是网站编码的问题造成的,但是当把页面和数据库等地方全部检查完后没有发现此问题,再经过查看空间参数终于发现问题所在,出现乱码的原因不是函数出问题,而是你的空间服务器没有打开mb_string extension服务,怎么办,邯郸网站建设找到解决的方法就是换一个函数,用sub_str来实现调用及文字截断,操作步骤如下:

1、将以下代码放加入到function.php 文件

function cut_str($sourcestr,$cutlength)
{
$returnstr=‘‘;
$i=0;
$n=0;
$str_length=strlen($sourcestr);//字符串的字节数
while (($n<$cutlength) and ($i<=$str_length))
{
$temp_str=substr($sourcestr,$i,1);
$ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii码
if ($ascnum>=224)    //如果ASCII位高与224,
{
$returnstr=$returnstr.substr($sourcestr,$i,3); //根据UTF-8编码规范,将3个连续的字符计为单个字符
$i=$i+3;            //实际Byte计为3
$n++;            //字串长度计1
}
elseif ($ascnum>=192) //如果ASCII位高与192,
{
$returnstr=$returnstr.substr($sourcestr,$i,2); //根据UTF-8编码规范,将2个连续的字符计为单个字符
$i=$i+2;            //实际Byte计为2
$n++;            //字串长度计1
}
elseif ($ascnum>=65 && $ascnum<=90) //如果是大写字母,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1;            //实际的Byte数仍计1个
$n++;            //但考虑整体美观,大写字母计成一个高位字符
}
else                //其他情况下,包括小写字母和半角标点符号,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1;            //实际的Byte数计1个
$n=$n+0.5;        //小写字母和半角标点等与半个高位字符宽…
}
}
if ($str_length>$cutlength){
$returnstr = $returnstr . ‘…‘;//超过长度时在尾处加上省略号
}
return $returnstr;
}

2、原先用mb_strimwidth函数调用的,换成cut_str调用,即将第二行替换成第一行

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content‘, $post->post_content)), 0, 36,"……"); ?>

<?php echo cut_str(strip_tags(apply_filters(‘the_content‘, $post->post_content)), 36,"……"); ?>

按照此方法替换调用函数后,OK,一切问题解决,没有乱码出现了。

分享到:
 
·上一篇:wordpress去除源代码头部的版权generator标签,优化头部多余的link标签
·下一篇:关于FlashFXP、CuteFTP、LeapFTP上传软件的二进制设置
 
  我们多年从事邯郸网站建设,具有非常丰富的经验,能够帮助您的网站在茫茫的网络世界脱颖而出,充分享受互联网带来的巨大商机。我们期待与您的合作,期待用我们的创造力去提高您的企业形象,为您的企业创造出更多的价值!

  咨询电话:15131013021,欢迎来电垂询!我们会根据您所在行业和所需的网站类型,预约后上门拜访您,直接面谈交流制定邯郸网站制作可行方案,直到您满意为止!我们随时乐意为您服务!

                             ——拓荒者网络(http://www.thzwl.com)
 
 
网站知识
· 邯郸市邯山区企业网站建...
· 百度site网站,收录...
· 通过博客给网站做外链的...
· 提高网站权重的可行有效...
· 百度不更新网站怎么办,...
· 网站被降权有可能是哪些...
· 网站代码如何优化才能更...
· “网站保证排名第一”的...
 
技术文章
· 谷歌浏览器打开网页显示...
· QQ在线客服提示抱歉,...
· ewebeditor编...
· asp调用读取数据库通...
· 利用JS代码实现网页禁...
· 网站修改后刷新前台页面...
· 通过CSS代码让整个网...
· 如何修改空间FTP密码...
 
行业新闻
· 越来越多的草根个人网站...
 
社会新闻
· 邯郸肥乡农村葬礼现低俗...
· 邯山区教育现状:只为赞...
 
搜索文章
   
 
 
网站首页 | 关于我们 | 网站报价 | 网站知识 | 技术文章 | 最新案例 | 留言咨询 | 联系我们
版权所有 拓荒者网络 [网站地图]
联系人:郭志涛 手机:15131013021 QQ:594541831
Copyright@2009 THZWL.COM Inc. All rights reserved. 备案号:冀ICP备09028077号
邯郸网站建设|邯郸网站制作|邯郸网络公司|邯郸企业建网站|邯郸个人做网站|邯郸网站建设公司