PHP截取字串函數substr()函數執行個體用法詳解

來源:互聯網
上載者:User
在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個字元?>

輸出結果為:

abcdefgcdefdeabc

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

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

<?php   $str="滬深證券證券交易所發行“高送轉”資訊披露指引,實施“刨根問底”問詢,開展對“高送轉”內幕交易核查聯動,集中查辦了一批借“高送轉”之名從事內幕交易或資訊披露違規案例。";  if(strlen($str)>30){                    //如果文本的字串長度大於30      echo substr($str,0,30). "....";          //輸出文本的前30個位元組,然後輸出省略符號      }else{                                    echo $str;                   // 如果文本的字串長度小於30,直接輸出原文本 }?>

輸出結果為:

滬深證券證券交易所發行....

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.