PHP使用preg_split函數分割含換行和分號字符串

preg_ split() 函數用於正則表達式分割字符串。它與split()explode()函數的主要區別是:正則表達式

split()函數:用正則表達式來把字符串拆分並返回數組,若是出錯則返回false;數組

preg_split() 函數:用 Perl 兼容正則表達式語法,一般比 split() 更快。函數

explode()函數:使用一個字符串分割另外一個字符串,一般比以上兩個函數更快。code

preg_ split() 函數的語法是:對象

array preg_split( string pattern, string subject [, int limit [, int flags]] )

參數說明:字符串

參數 說明
pattern 正則表達式
subject 須要匹配分割的對象
limit 可選,若是指定了 limit ,則最多返回 limit 個子串,若是 limit 是 -1,則意味着沒有限制,能夠用來繼續指定可選參數 flags
flags 設定 limit 爲 -1 後可選,能夠是下列標記的任意組合(用按位或運算符 | 組合):
  1. PREG_SPLIT_NO_EMPTY:只返回非空的成分
  2. PREG_SPLIT_DELIM_CAPTURE:定界符模式中的括號表達式也會被捕獲並返回
  3. PREG_SPLIT_OFFSET_CAPTURE:對每一個出現的匹配結果也同時返回其附屬的字符串偏移量。注意這改變了返回的數組的值,使其中的每一個單元也是一個數組,其中第一項爲匹配字符串,第二項爲其在 subject 中的偏移量。

這樣,咱們就有了按換行符和分號分割字符串的方法了。string

$result = preg_split('/[;\r\n]+/s', $value);   // 返回數據保存在$result數組中it

其中:table

  • \r 表示:回車符(ACSII:13 或0x0d),就是咱們常說的硬回車。
  • \n 表示:換行(ACSII:10 或0x0a),就是咱們常說的軟回車。
相關文章
相關標籤/搜索