php中的一个中文字符串截取函数

PHP代码:

--------------------------------------------------------------------------------

<?php

/**

***@Author:LAD

***@URL   :<a href="http://www.cnpik.com/" target="_blank">http://www.cnpik.com/</a>

***@E_mail:lianxiwoo@sohu.com 

***@随便用,不收钱 :-)

*/

function cnSubStr($string,$sublen)

{

    if($sublen>=strlen($string))

    {

        return $string;

    }

    $s="";

    for($i=0;$i<$sublen;$i++)

    {

        if(ord($string{$i})>127) 

        {

            $s.=$string{$i}.$string{++$i};

            continue;

        }else{

            $s.=$string{$i};

            continue;

        } 

    }

    return $s;

}// End Function cnSubStr($string,$sublen)

/////////// Use like this :

echo "<p>__________________________<p>";

$string="242432反对感是456犯得上广泛大使馆地方7890";

$sublen=strlen($string);

$len=20;

echo $string."<p>";

echo "总长为:".($sublen+1)."<p>";

echo "截取数:".$len."<p>";

for($i=1;$i<=$sublen+1;$i++){

    if($i>$len){

        echo $i."<b> →</b> ".cnSubStr($string,$i)."…<br>";

        continue;

    }

    echo $i."<b> →</b> ".cnSubStr($string,$i)."<br>";

}

?>

相关推荐