当前位置:Gxlcms > PHP教程 > PHPUTF8中文字符截断函数代码_PHP教程

PHPUTF8中文字符截断函数代码_PHP教程

时间:2021-07-01 10:21:17 帮助过:34人阅读

代码如下:
  1. <br><!--?php <BR-->/* UTF-8中文字符截断程序 */ <br>$str = "123这是测试字符串"; <br>$str1 = "()()"; <br>echo subUTF8str($str,0,3)."<br>"; <br>echo subUTF8str($str,0,4)."<br>"; <br>echo subUTF8str($str1,0,4)."<br>"; <br>echo subUTF8str($str1,0,10)."<br>"; <br>function subUTF8str($str,$start=0,$length=80){ <br>$cur_len = 0; //人理解的字符串长度 <br>$all_len = strlen($str); //机器理解字符串长度 <br>if($length > $all_len) <br>{ <br>return $str; <br>} <br>for($i = 0;$i < $all_len;) <br>{ <br>if($cur_len == $start) <br>{ <br>break; <br>} <br>if (ord($str[$i]) > 127) <br>{ <br>$i += 3; <br>}else{ <br>$i += 1; <br>} <br>$cur_len ++; <br>} <br>$start_pos = $i; <br>$temp_pos = $cur_len; <br>for(;$cur_len - $temp_pos < $length;) <br>{ <br>if($i >= $all_len) <br>break; <br>if (ord($str[$i]) > 127) <br>{ <br>$i += 3; <br>}else{ <br>$i += 1; <br>} <br>$cur_len ++; <br>} <br>$end_pos = $i; <br>return substr($str,$start_pos,$end_pos); <br>} <br>?> <br> <br>其实,PHP原生就有多charset下字符截取方案,额,所以就是这个样子...囧.. <br>Multibyte String Functions函数族中, <br><br>string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] ) 用来字符串截取 <br>int mb_strlen ( string $str [, string $encoding ] ) 返回字符串长度 <br>.... <br>详细请查看PHP手册
  2. <p></p>
  3. <p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/326024.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/326024.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description"> 代码如下:</span></p><pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>?php /* UTF-8中文字符截断程序 */ $str = "123这是测试字符串"; $str1 = "()()"; echo subUTF8str($str,0,3)."br"; echo subUTF8str($str,0,4)...<p></p></li><li> </li></ol></pre>

人气教程排行