在网上曾经看到一个截取字符的函数,但是是错的,现在将修改后的贴出来.(注释是日语)
function substr($str,$start,$length)
{
//バイト数を指定
$strlen=$start+$length;
//1バイトの保存
$tmpstr = '';
//初期化定義
$i = 0;
$j = 0;
//バイトの計算
while($j< $strlen && $j < strlen($str))
{
//1バイトの取得
$tmp1 = mb_substr($str,$i,1,"EUC_JP");
$mblen = strlen($tmp1);
//バイトの判別
if($j == ($strlen-1) && $mblen > 1 && $length < strlen($tmpstr.$tmp1))
{
return $tmpstr;
}
$tmpstr .= $tmp1;
if($mblen > 1)
{
$j++;
}
$i++;
$j++;
}
//文字列の一部分を返す
return $tmpstr;
}