首頁  >  文章  >  後端開發  >  php怎麼實作中文字串截取

php怎麼實作中文字串截取

青灯夜游
青灯夜游原創
2021-07-16 20:17:056892瀏覽

在php中,可以利用mb_substr()函數來截取中文字串,該函數可以從一個字串中截取指定的一部分,不僅對英文字元有效,對中文字元同樣有效;語法格式“ mb_substr($str,$start,$length,$encoding)」。

php怎麼實作中文字串截取

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

mb_substr() 函數可以從一個字串中截取指定的一部分,與substr() 函數不同的是,mb_substr() 函數不僅對英文字元有效,對中文字元同樣有效,其語法格式如下:

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

參數說明如下:

  • $str:待截取的字串,字串中至少包含一個字元;
  • $start:截取字串的起始位置;
    • 如果$start 為非負數,那麼字串會從$str 的第$start 個字元的位置開始截取;
    • 如果$start 是負數,那麼字串會從$str 結尾處向前數第$start 個字元的位置開始截取。
  • $length:可選參數,表示截取字串的長度;
    • 如果$length 為正數,那麼字串將從$start 位置向後截取最多$length 個字元;
    • 如果$length 為負數,那麼$string 末尾的$length 個字元將會被省略(若$start 是負數則從字串尾部算起);
    • 如果$length 的值NULL 或省略$length,則會截取到字串的結尾。
  • $encoding:可選參數,表示 $str 的字元編碼,如果省略,則使用內部字元編碼。

【範例】使用 mb_substr() 函數,截取指定長度的中文字串。

<?php
    $str = &#39;欢迎访问PHP中文网,一个在线学习编程的网站。&#39;;
    echo mb_substr($str, 4).&#39;<br>&#39;;
    echo mb_substr($str, -19).&#39;<br>&#39;;
    echo mb_substr($str, 4, 6).&#39;<br>&#39;;
    echo mb_substr($str, 4, -16).&#39;<br>&#39;;
    echo mb_substr($str, -19, -13).&#39;<br>&#39;;
    echo mb_substr($str, -19, 6).&#39;<br>&#39;;
    var_dump(mb_substr($str, 40));
    echo &#39;<br>&#39;;
    var_dump(mb_substr($str, 4, null));
?>

運行結果如下:

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

【範例】使用 mb_substr() 函數截取指定長度的字串,超出的部分使用「...」取代。

<?php
    $str = &#39;PHP中文网是一个在线学习编程的网站,我们发布了多套文字教程,它们都通俗易懂,深入浅出。&#39;;
    if(strlen($str)>18){
        echo mb_substr($str, 0, 18).&#39;...&#39;;
    }else{
        echo $str;
    }
?>

運行結果如下:

PHP中文网是一个在线学习编程的网站...

推薦學習:《PHP影片教學

以上是php怎麼實作中文字串截取的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn