<?php
function utf_substr($str,$len)
{
for($i=0;$i<$len;$i++)
{
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127) //这里为什么要用127
{
$i++; //在这里$i++代表什么意思
if($i<$len)
{
$new_str[]=substr($str,0,3);
$str=substr($str,3);
}
}
else
{
$new_str[]=substr($str,0,1);
$str=substr($str,1);
}
}
return join($new_str);
}
if(ord($temp_str) > 127) 这里127代表什么意思$i++; //在这里$i++代表什么意思
$i++ 是隔一个ASCII
我再给你发一个,我一直在用的//截取中文字符串
function mysubstr($str, $start, $len)
{
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
是不是你参数调用的不对,我一直在用啊
$a = mysubstr($a,0,10);这样
试试
有现成的函数,为啥还要自定义函数.