<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_35148"> 代码出处: 小墨(自己) <br> 符合UTF-8下,如果GBK下 <br> 改为 <span>$content .= $str[$sing].$str[$sing+1];</span> <br> $sing += 3; 改为 $sing += 2; <span></span> <br> <span></span> <div class="blockcode"> <div id="code_q41"><ol> <li> /**</li> <li> * 中英文截取</li> <li> * @param string 要截取的字符串</li> <li> * @param string 要截取的长度(超过总长度 按总长度计算)</li> <li> * @param [string] (可选)开始位置(第一个为0)</li> <li> * @return string</li> <li> * @author 小墨 244349067@qq.com</li> <li> */</li> <li> function mixSubstr($str, $length, $start=FALSE)</li> <li>{</li> <li> if( ! $length){</li> <li> return false;</li> <li> }</li> <li> </li> <li> $strlen = strlen($str);</li> <li> $content = '';</li> <li> $sing = 0;</li> <li> $count = 0;</li> <li> </li> <li> if($length > $strlen) {</li> <li> $length = $strlen;</li> <li> }</li> <li> if($start >= $strlen) {</li> <li> return false;</li> <li> }</li> <li> </li> <li> while($length != ($count-$start))</li> <li> {</li> <li> if(ord($str[$sing]) > 0xa0) {</li> <li> if(!$start || $start <= $count) {</li> <li> $content .= $str[$sing].$str[$sing+1].$str[$sing+2];</li> <li> }</li> <li> $sing += 3;</li> <li> $count++;</li> <li> }else{</li> <li> if(!$start || $start <= $count) {</li> <li> $content .= $str[$sing];</li> <li> }</li> <li> $sing++;</li> <li> $count++;</li> <li> }</li> <li> }</li> <li> return $content;</li> <li>}</li> </ol></div> <em onclick="copycode($('code_q41'));">复制代码</em> </div> </td></tr></table> <div id="comment_35148" class="cm"> </div> <div id="post_rate_div_35148"></div> <br><br>