«
PHP的mb_substr和mb_strcut的区别

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  php的mbstring扩展模块提供了多字节字符的处理能力,平常最常用的就是用mbstring来切分多字节的中文字符,这样可以避免出现半个字符的情况,由于是php的扩展,它的性能也要比一些自定义的多字节切分函数要好上一些。</p><p>  mbstring extension提供了几个功能类似的函数,mb_substr和mb_strcut,看看手册上对它们的解释。</p><p>  mb_substr</p><p>  mb_substr() returns the portion of str specified by the start and length parameters.</p><p>  mb_substr() performs multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.</p><p>  mb_strcut</p><p>  mb_strcut() returns the portion of str specified by the start and length parameters.</p><p>  mb_strcut() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character.</p><p>  It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.</p><p>  举个例子来说,有一段文字, 分别用mb_substr和mb_strcut来做切分:</p><p>  PLAIN TEXT</p><p>  CODE:</p><code><?php<br />$str = '我是一串比较长的中文-www.webjx.com';<br />echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8');<br />echo "<br>";<br />echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');<br />?></code></p><p>  输出结果如下:</p><p>  mb_substr:我是一串比较</p><p>  mb_strcut:我是</p>