您的位置:首页 > 编程语言 > PHP开发

php如何截取中文字符串而不会截断中文出现乱码呢?

2013-07-13 16:28 615 查看
function my_substr($input,$start,$length)

{

$len =strlen($input);

$output ='';

echo"input:$input,len=$len,start=$start,length=$length<br/>";

$flag =0;

for($i=0,$j=0;$i<$len,$j<$length;)

{

$currchat = $input{$i};

if(ord($currchat)>0XA0)

{

echo "arrive here,i=$i

";

if($start-1==$i)

{

$start ++;

$flag = 1;

}

else if($start==$i)

{

$flag = 1;

}

if($flag)

{

$output .= substr($input,$start+$j,2);

$j+=2;

}

echo"first=$start,flag=$flag,output=$output

";

$i +=2;

}

else {

if($start==$i)

{

$flag = true;

}

if($flag)

{

$output .= substr($input,$start+$j,1);

$j++;

}

$i ++;

}

}

return$output;

}

$output = my_substr($input,12,25);

echo "output=$output<br/>";

以上是我写的一个小方法,依照着substr的参数做的,测试了一些字符,包含中英文都有的,没有出错。

大家可以拿来测试一下,欢迎批评指正......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: