mbstring,用phpinfo看一下是否安装
http://ca3.php.net/manual/en/ref.mbstring.php
http://ca3.php.net/manual/en/ref.mbstring.php
解决方案 »
- 类似自动跳转页面如何实现
- 有高手能帮忙修改一下不??
- 求教高手PHP 验证码的问题!!!!!!!!!
- preg_match_all('/<img[.\n]*?src\s*?=\s*?[\"\'](.*?)[\"\'](.*?)\/>/i',$content ,$matches ) 匹配什么
- 高手帮我看哈这个上传问题,谢谢了!
- 1000分都可以给你,LINUX+PHP+JAVA总是有问题
- 学PHP
- 怎么关闭新建的窗口
- 还是有关关闭 register_globals 后的 url 参数问题,100 求教,在线等待!
- 请问在Windows下做PHP开发,上传到Linux的环境运行,应该注意些什么问题??
- 请问在函数前面加@是什么意思?
- 晕了,问了这么久都还没有解决....
===>
if(ord(substr($str,$i,1))>0x80) $j++;
问题有所改善.
但是
substrgb("█ Canon 扫描仪 █",14);
得到的是:
█ Canon 扫描?..问题还是存在.是这个下限值的问题,还是这种做法跟本就不合适呢?
另外,这个算法在$strlen叫大时是非常耗时的
function substrgb($str,$strlen=10,$other=true) {
$i=0;
while($i<$strlen) {
if(ord($str[$i]) > 0x80) $i++;
$i++;
}
$rstr = substr($str,0,$i);
if (strlen($str)>$strlen && $other) {$rstr.=' ...';}
return $rstr;
}
function c_substr($str,$start=0) {
$ch = chr(127);
$p = array("/[\x81-\xfe]([\x81-\xfe]|[\x40-\xfe])/","/[\x01-\x77]/");
$r = array("","");
//func_num_args,func_num_args 可变参数函数列表
if(func_num_args() > 2)
$end = func_get_arg(2);
else
$end = strlen($str);
if($start < 0)
$start += $end; if($start > 0) {
$s = substr($str,0,$start);
if($s[strlen($s)-1] > $ch) {
$s = preg_replace($p,$r,$s);
$start += strlen($s);
}
}
$s = substr($str,$start,$end);
$end = strlen($s);
if($s[$end-1] > $ch) {
$s = preg_replace($p,$r,$s);
$end += strlen($s);
}
return substr($str,$start,$end);
}echo c_substr("█ Canon 扫描仪 █",14);
?>
echo c_substr("█ Canon 扫描仪 █",14);
改为
echo c_substr("█ Canon 扫描仪 █",0,14);