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的参数做的,测试了一些字符,包含中英文都有的,没有出错。
大家可以拿来测试一下,欢迎批评指正......
{
$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的参数做的,测试了一些字符,包含中英文都有的,没有出错。
大家可以拿来测试一下,欢迎批评指正......
相关文章推荐
- 如何利用PHP来截取一段中文字符串而不出现乱码
- PHP截取中文字符串出现乱码的解决办法
- 用PHP来截取中文字符串而不出现乱码的实现方法
- PHP用substr截取字符串出现中文乱码问题用mb_substr
- PHP截取字符串函数,其它用省略号表示(...)不会出现中文乱码
- PHP中的字符串截取函数,取子符串,以保证中文不出现乱码
- PHP substr()截取字符串时,中文出现乱码的问题解决【转】
- PHP中使用substr()截取字符串出现中文乱码问题该怎么办
- PHP中使用substr()截取字符串出现中文乱码问题该怎么办
- PHP utf-8中文截取无乱码(字符串判断版本)
- PHP使用mb_substr()解决中文字符串截取乱码问题
- php截取中文字符串乱码问题
- php中如何截取中文字符串
- 样式表自动截断字符串、省略显示不出来的字符,不用服务器端处理,也不会出现乱码
- PHP中文字符串截断无乱码解决方案
- PHP的两个常用函数截取中文字符串无乱码与获取客户端IP地址
- 写一个函数, 2个参数, 1个字符串, 1个字节数,返回截取的字符串,要 求字符串中的中文不能出现乱码: 如 ( “ 我ABC”, 4) 应该截为 “ 我AB”,输入( “ 我 ABC汉DEF”, 6
- PHP使用mb_substr()解决中文字符串截取乱码问题
- PHP截取中文字符出现乱码的具体解决办法
- php 中文字符串截取乱码