php 如何截取中文字符串

  在网站应用中时常需要对相应的字符串进行截取。最常用的是使用substr函数对字符串进行截取。

  然而,substr和strlen函数只在处理英文字符串时可以正确使用,在截取中文字符时,时常出现乱码。这时,可以使用mb_substr和mb_strlen函数。后者与前者用法相似,区别在于后者需要在使用过程中添加一个参数。

  以mb_substr为例:

    string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )

  前三个参数与substr相同,最后一个参数为字符串的编码格式。

  例如:  

<?php
    $str = "中a文a测a试a字a符,使用mb_substr可以解决乱码。";
    echo "输出测试文字:".$str."<br>";
    
    echo "字符串的长度为:".mb_strlen($str)."<br>";
    
    echo "截取前五个字符:".mb_substr($str, 0, 5 , 'utf-8');
    

?>

输出的结果为:

  

  这样就解决了中文乱码的问题。

原文地址:https://www.cnblogs.com/scutwang/p/3339011.html