<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
/**
* Filename : String.php
* Author : Dummy | Zandy
* Email : lianxiwoo@gmail.com | hotmail.com
* Create : 200512
* LastMod : 2005
* Usage :
*/
class
String
{
function subStringUTF8( $str , $start , $lenth )
{
$len = strlen ( $str );
$r = array ();
$n = 0 ;
$m = 0 ;
for ( $i = 0 ; $i < $len ; $i ++ )
{
$x = substr ( $str , $i , 1 );
$a = base_convert ( ord ( $x ) , 10 , 2 );
$a = substr ( ' 00000000 ' . $a , - 8 );
if ( $n < $start )
{
if ( substr ( $a , 0 , 1 ) == 0 )
{
}
elseif ( substr ( $a , 0 , 3 ) == 110 )
{
$i += 1 ;
}
elseif ( substr ( $a , 0 , 4 ) == 1110 )
{
$i += 2 ;
}
$n ++ ;
}
else
{
if ( substr ( $a , 0 , 1 ) == 0 )
{
$r [] = substr ( $str , $i , 1 );
}
elseif ( substr ( $a , 0 , 3 ) == 110 )
{
$r [] = substr ( $str , $i , 2 );
$i += 1 ;
}
elseif ( substr ( $a , 0 , 4 ) == 1110 )
{
$r [] = substr ( $str , $i , 3 );
$i += 2 ;
}
else
{
$r [] = '' ;
}
if ( ++ $m >= $lenth )
{
break ;
}
}
}
return $r ;
} // End subString_UTF8
} // End String
echo ' <hr><hr><hr> ' ;
echo join ( '' , String :: subString_UTF8( ' 中国 '' , 0, 1));
{
function subStringUTF8( $str , $start , $lenth )
{
$len = strlen ( $str );
$r = array ();
$n = 0 ;
$m = 0 ;
for ( $i = 0 ; $i < $len ; $i ++ )
{
$x = substr ( $str , $i , 1 );
$a = base_convert ( ord ( $x ) , 10 , 2 );
$a = substr ( ' 00000000 ' . $a , - 8 );
if ( $n < $start )
{
if ( substr ( $a , 0 , 1 ) == 0 )
{
}
elseif ( substr ( $a , 0 , 3 ) == 110 )
{
$i += 1 ;
}
elseif ( substr ( $a , 0 , 4 ) == 1110 )
{
$i += 2 ;
}
$n ++ ;
}
else
{
if ( substr ( $a , 0 , 1 ) == 0 )
{
$r [] = substr ( $str , $i , 1 );
}
elseif ( substr ( $a , 0 , 3 ) == 110 )
{
$r [] = substr ( $str , $i , 2 );
$i += 1 ;
}
elseif ( substr ( $a , 0 , 4 ) == 1110 )
{
$r [] = substr ( $str , $i , 3 );
$i += 2 ;
}
else
{
$r [] = '' ;
}
if ( ++ $m >= $lenth )
{
break ;
}
}
}
return $r ;
} // End subString_UTF8
} // End String
echo ' <hr><hr><hr> ' ;
echo join ( '' , String :: subString_UTF8( ' 中国 '' , 0, 1));