程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 探討PHP函數split()如何使用正則表達式切割字符串

探討PHP函數split()如何使用正則表達式切割字符串

編輯:關於PHP編程

對於初學者來說,掌握PHP中常用函數的用法,是其繼續學習的基礎。今天我們就為大家詳細介紹有關說明
array split ( string $pattern, string $string [, int $limit] )

提示
preg_split() 函數使用了 Perl 兼容正則表達式語法,通常是比PHP函數split()更快的替代方案。如果不需要正則表達式的威力,則使用 explode() 更快,這樣就不會招致正則表達式引擎的浪費。

本函數返回一個字符串數組,每個單元為 string 經區分大小寫的正則表達式 pattern 作為邊界分割出的子串。如果設定了 limit,則返回的數組最多包含 limit 個單元,而其中最後一個單元包含了 string 中剩余的所有部分。如果出錯,則 split() 返回 FALSE。

將 /etc/passwd 中的前四個字段分割出來:

例 1839. PHP函數split()例子

  1. <?php 
  2. list($user, $pass, $uid, $gid, $extra) =  
  3. split (":", $passwd_line, 5);  
  4. ?> 

如果字符串中有 n 個與 pattern 匹配的項目,則返回的數組將包含 n+1 個單元。例如,如果沒有找到 pattern,則會返回一個只有一個單元的數組。當然,如果 string 為空也是這樣。

解析可能用斜線,點,或橫線分割的日期:

例 1840. PHP函數split()例子

  1. <?php 
  2. // 分隔符可以是斜線,點,或橫線  
  3. $date = "04/30/1973";  
  4. list($month, $day, $year) = split ('[/.-]', $date);  
  5. echo "Month: $month; Day: $day; Year: $year<br />n";  
  6. ?> 

想仿效 Perl 中類似的 @chars = split('', $str) 行為,請參考 preg_split() 或 str_split() 函數中的例子。

注意 pattern 是一個正則表達式。如果想要用的分割字符是正則表達式中的特殊字符,要先將其轉義。如果覺得PHP函數split()(或其它任何 regex 函數)行為古怪的話,請閱讀包含在 PHP 發行包中 regex/ 子目錄下的 regex.7 文件。該文件是手冊頁面格式,可以用類似 man /usr/local/src/regex/regex.7 的命令來閱讀
 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved