首页 > 编程笔记 > PHP笔记 阅读数:25

PHP mb_substr():截取中文字符串

在 Web 开发过程中,为了保持整个页面的美观,经常需要对一些超长的中文字符串进行缩略显示,而上一节介绍的《substr() 函数》对中文的处理不是很友好,那么本节就来为大家介绍一个类似的函数——mb_substr() 函数。

mb_substr() 函数可以从一个字符串中截取指定的一部分,与 substr() 函数不同的是,mb_substr() 函数不仅对英文字符有效,对中文字符同样有效,其语法格式如下:

mb_substr($str , $start [, $length = NULL [, $encoding = mb_internal_encoding()]])

参数说明如下:

【示例】使用 mb_substr() 函数,截取指定长度的中文字符串。
<?php
    $str = '欢迎访问C语言中文网,一个在线学习编程的网站。';
    echo mb_substr($str, 4).'<br>';
    echo mb_substr($str, -19).'<br>';
    echo mb_substr($str, 4, 6).'<br>';
    echo mb_substr($str, 4, -16).'<br>';
    echo mb_substr($str, -19, -13).'<br>';
    echo mb_substr($str, -19, 6).'<br>';
    var_dump(mb_substr($str, 40));
    echo '<br>';
    var_dump(mb_substr($str, 4, null));
?>
运行结果如下:

C语言中文网,一个在线学习编程的网站。
C语言中文网,一个在线学习编程的网站。
C语言中文网
C语言
C语言中文网
C语言中文网
string(0) ""
string(55) "C语言中文网,一个在线学习编程的网站。"

【示例】使用 mb_substr() 函数截取指定长度的字符串,超出的部分使用“...”代替。
<?php
    $str = 'C语言中文网是一个在线学习编程的网站,我们发布了多套文字教程,它们都通俗易懂,深入浅出。';
    if(strlen($str)>18){
        echo mb_substr($str, 0, 18).'...';
    }else{
        echo $str;
    }
?>
运行结果如下:

C语言中文网是一个在线学习编程的网站...

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注

所有教程

相关文章