substr截取中文字串的问题 搜索一下吧这类的贴子太多了。找一下faq也有 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个函数吧,保证好用,具体使用方法不用我说你一看就明白给分!!!<?//$str 要截取的字符串//$start 从第$start个字符开始截取,一般取 0//$len 截取长度function CsubStr($str,$start,$len) { $strlen=strlen($str); $clen=0; for($i=0;$i<$strlen;$i++,$clen++) { if ($clen>=$start+$len) break; if(ord(substr($str,$i,1))>0xa0) { if ($clen>=$start) $tmpstr.=substr($str,$i,2); $i++; } else { if ($clen>=$start) $tmpstr.=substr($str,$i,1); } } return $tmpstr; }?> echo substr($text,30).chr(0); 这有一个贴子,可以给你启发http://expert.csdn.net/Expert/topic/1217/1217292.xml?temp=2.796572E-02 临时改造了一下,没有测试<?/******************************************** Product : ** Version : ** Copyright : Baby Studio ** Author : Yingjie Pan ** Email : [email protected] ********************************************/?><?$vsmystr=BabySubstr('我是BabyStudio,请多多指教!',4);echo($vsmystr.'<br/>');function BabySubstr($vsstr_,$vilen_){ $vsreturn=''; $viindex=0; $vitmp=0; $vstmp=''; $vicncharaterend=0; $vscharacter=substr($vsstr_,$viindex,1); $vsrealcharacter=substr($vsstr_,$viindex,1); while(strlen($vsrealcharacter)) { $viindex++; if(ord($vscharacter)<0 || ord($vscharacter)>127) { if($vicncharaterend==0) { $vicncharaterend=1; } else { $vitmp++; $vicncharaterend=0; } } else { $vitmp++; } $vstmp=$vstmp.$vscharacter; if($vitmp==$vilen_) { $vsreturn=$vstmp; break; } if(!strlen(substr($vsstr_,$viindex,1))) { $vsreturn=$vstmp; break; } $vscharacter=substr($vsstr_,$viindex,1); $vsrealcharacter=substr($vsstr_,$viindex,1); } return($vsreturn);}?> 关于PHP伪静态的探讨 下面这段代码哪里错了阿 一个菜问题,不知道怎么描述,自动建立关键词 php cli参数可以实现选择功能吗? php 开发工具使用问题 在浏览器输入一个网址,返回的数据,如何赋值给一个自己定义的变量? php图片上传问题 谁帮我看下这段PHP结合JS的关联菜单为什么没有反应,在ASP下测试是好的 请高手帮忙。在php中如何连接SQL数据库。 鄙人写的select值存到input中出来点问题,跪等各位大侠帮忙解答。代码如下 如何把一个目录里的所有文件分页显示出来 win98+apache+php的安装问题(200分,求助,搞不出来我急)
给分!!!
<?
//$str 要截取的字符串
//$start 从第$start个字符开始截取,一般取 0
//$len 截取长度
function CsubStr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}
return $tmpstr;
}
?>
http://expert.csdn.net/Expert/topic/1217/1217292.xml?temp=2.796572E-02
<?
/*******************************************
* Product : *
* Version : *
* Copyright : Baby Studio *
* Author : Yingjie Pan *
* Email : [email protected] *
*******************************************/
?>
<?
$vsmystr=BabySubstr('我是BabyStudio,请多多指教!',4);
echo($vsmystr.'<br/>');function BabySubstr($vsstr_,$vilen_)
{
$vsreturn='';
$viindex=0;
$vitmp=0;
$vstmp='';
$vicncharaterend=0;
$vscharacter=substr($vsstr_,$viindex,1);
$vsrealcharacter=substr($vsstr_,$viindex,1);
while(strlen($vsrealcharacter))
{
$viindex++;
if(ord($vscharacter)<0 || ord($vscharacter)>127)
{
if($vicncharaterend==0)
{
$vicncharaterend=1;
}
else
{
$vitmp++;
$vicncharaterend=0;
}
}
else
{
$vitmp++;
}
$vstmp=$vstmp.$vscharacter;
if($vitmp==$vilen_)
{
$vsreturn=$vstmp;
break;
}
if(!strlen(substr($vsstr_,$viindex,1)))
{
$vsreturn=$vstmp;
break;
}
$vscharacter=substr($vsstr_,$viindex,1);
$vsrealcharacter=substr($vsstr_,$viindex,1);
}
return($vsreturn);
}
?>