有关中英文混合字符串截取

<?php
error_reporting(E_ALL);
function substring($str, $start)
  $strlen = strlen($str); 
  if($start > $strlen)
  { 
return ""; 
  } 
  
  for($i = 0; $i < $start; $i++) //判断真实的字节开始位置
  { 
if(ord($str[$i]) > 0x7f )
{
  $start++;
  $i++; 
  } 
  $len=1;
if(ord($str[$start]) > 0x7f) //高位大于127 是汉字 截取两个字节
  $len++; 
  
 return substr($str, $start, $len); //只截取1个字符,模拟str[]
function new_str_array($str)
{
$mb_str_length=mb_strlen($str,'gb2312');
$new_str=array();
for($i=0;$i<$mb_str_length;$i++)
{
$new_str[]=substring($str,$i); //每次截取的一个字符放到$new_str[]数组里
}
return $new_str;
}

$a=new_str_array("中文a字符1");
echo $a[2];
echo $a[1];
?>
相关文章
相关标签/搜索