首頁 >後端開發 >php教程 >PHP截取字串函數substr()函數實例用法詳解

PHP截取字串函數substr()函數實例用法詳解

伊谢尔伦
伊谢尔伦原創
2017-04-13 10:01:499545瀏覽

在PHP中有一項非常重要的技術,就是要截取指定字串中指定長度的字元。 PHP對於字串截取可以使用PHP預先定義函數substr()函數來實作。以下就來介紹一下substr()函數的語法及其應用。

substr()函數語法格式如下:

substr(string, start, length);

#substr()函數參數說明如下:

參考  數 說    明確
string #指定字串物件
start 指定開始截取字串的位置。如果參數start為負數,則從字串的結尾開始截取
length 可選參數,指定截取字元的數,如果length為負數,則表示取到倒數第length個字元

說明:

#start的指定位置是從0開始計算的,即字串中的第一個字元的位置表示為0。

start 為正資料從左向右讀取字元

start 為負數時就右向左讀取字元

length 預設是直到字串的結尾,正數- 在字串的指定位置開始,負數- 在從字串結尾的指定位置開始。

使用substr()函數截取字串中指定長度的字符,實例的程式碼如下:

<?php
  echo substr("abcdefg",0);              //从第0个字符开始截取
  echo "<br>";
  echo substr("abcdefg",2,4);             //从第2个字符开始连续截取4个字符
  echo "<br>";
  echo substr("abcdefg",-4,2);             //从倒数第4个字符开始截取2个字符
  echo "<br>";
  echo substr("abcdefg",0,-4);             //从第0个字符开始截取,截取到倒数第4个字符
?>

輸出結果為:

abcdefg
cdef
de
abc

在開發一些web程式時,為了保持整個頁面的合理佈局,經常需要對於一些超長的文本,只要求顯示其中的部分資訊。下面來透過具體的實例來講解一下其實現的方法。

使用substr()函數截取超長文字的部分字串訊息,剩餘的部分使用"....."來代替,範例程式碼如下:

<?php
   $str="沪深证券交易所已发布“高送转”信息披露指引,实施“刨根问底”问询,开展对“高送转”内幕交易核查联动,集中查办了一批借“高送转”之名从事内幕交易或信息披露违规案件。";
  if(strlen($str)>30){                    //如果文本的字符串长度大于30
      echo substr($str,0,30). "....";          //输出文本的前30个字节,然后输出省略号
      }else{                            
        echo $str;                   // 如果文本的字符串长度小于30,直接输出原文本
 }
?>

輸出結果為:

沪深证券交易所已发布....

說明:從指定的字串中依照指定的位置截取一定長度的字元。透過substr()函數可以取得某個固定格式字串中的一部分。

注意: 使用substr()函數在截取字串時,如果截取的字串個數是奇數,那麼就會導致截取的中文字串出現亂碼,所以substr( )函數適用於對英文字串的截取,如果想要對中文字串進行截取,而且要避免出現亂碼,最好的方法就是應用substr()函數來寫一個自訂函數。

以上是PHP截取字串函數substr()函數實例用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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