asp的我有,稍微等下,我修改一下。呵呵~

解决方案 »

  1.   

    <?
    $str="s张ss但是";
    echo strlen($str);
    ?>
      

  2.   

    function $strstrlen($str)

    $p_len=0; 
    $strlen=0;
    if (strlen(trim($str))==0) {
    $p_len=strlen(trim($str)); 
    }
    for ($xx=1;$xx<$p_len;$xx++) {
    if (chr(substr($str,$xx,1))<0) {  
    $strlen=int($strlen) + 2;
    }
    else {
    $strlen=int($strlen) + 1;
    }
    }
    }
    function $strvalue($str,$lennum) {
    if (strstrlen($str)<=$lennum) { 
    $strvalue=$str;

    else 
    {$p_num=0;
    x=0;
    }
     
    while ($p_num <= $lennum-2){
    $x=$x+1;
    if (chr(substr($str,$x,1))<0){
    $p_num=int($p_num) + 2;
    }
    else {
    $p_num=int($p_num) + 1;
    }
    $strvalue= substr(trim($str),0,$x)."."; 
    }
    }//前一个函数用来取混编长度,后一个函数是根据长度来取字符串。
    //比如 $a='我们de祖国' strvalue($a,3)则为“我们d”
      

  3.   

    <?php
    // 中文字符截取
    // author : 轻风慢语
    // 转载请注明出处function cutStr($str, $len)
    {
    $new_str = '';
    $wordLen = 0;
    while ($wordLen < $len) {
    $temp_str = substr($str, 0, 1);

    if (ord($temp_str) > 127) { // 中文
    $new_str .= substr($str, 0, 3);
    $str = substr($str, 3);
    $wordLen++;
    } else { // E文
    $new_str .= substr($str, 0, 1);
    $str = substr($str, 1);
    $wordLen++;
    }
    }
    return $new_str;
    }echo cutStr("我爱你AND他,AND大家", 8);
    ?>