日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP 正则表达式分割 preg_split 与 split 函数

發布時間:2023/11/29 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 正则表达式分割 preg_split 与 split 函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

preg_split()

preg_ split() 函數用于正則表達式分割字符串。

語法:

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

返回一個數組,包含 subject 中沿著與 pattern 匹配的邊界所分割的子串。

參數說明
pattern正則表達式
subject需要匹配分割的對象
limit可選,如果指定了 limit ,則最多返回 limit 個子串,如果 limit 是 -1,則意味著沒有限制,可以用來繼續指定可選參數 flags
flags

設定 limit 為 -1 后可選,可以是下列標記的任意組合(用按位或運算符 | 組合):

  • PREG_SPLIT_NO_EMPTY:preg_split() 只返回非空的成分
  • PREG_SPLIT_DELIM_CAPTURE:定界符模式中的括號表達式也會被捕獲并返回
  • PREG_SPLIT_OFFSET_CAPTURE:對每個出現的匹配結果也同時返回其附屬的字符串偏移量。注意這改變了返回的數組的值,使其中的每個單元也是一個數組,其中第一項為匹配字符串,第二項為其在 subject 中的偏移量。
  • 例子 1 :

    <?php $str = "php mysql,apache ajax"; $keywords = preg_split("/[\s,]+/", $str); print_r($keywords); ?>

    輸出結果為:

    Array ([0] => php[1] => mysql[2] => apache[3] => ajax )

    例子 2 :

    <?php $str = 'string'; $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($chars); ?>

    輸出結果為:

    ([0] => s[1] => t[2] => r[3] => i[4] => n[5] => g )

    例子 3 :

    <?php $str = "php mysql,apache ajax"; $keywords = preg_split("/[\s,]+/", $str, -1, PREG_SPLIT_OFFSET_CAPTURE); print_r($keywords); ?>

    輸出結果為:

    Array ([0] => Array([0] => php[1] => 0)[1] => Array([0] => mysql[1] => 4)[2] => Array([0] => apache[1] => 10)[3] => Array([0] => ajax[1] => 17) )

    split()

    split() 函數同 preg_split() 類似,用正則表達式將字符串分割到數組中,返回一個數組,但推薦使用 preg_split() 。

    語法:

    array split( string pattern, string string [, int limit] )

    如果設定了 limit ,則返回的數組最多包含 limit 個單元,而其中最后一個單元包含了 string 中剩余的所有部分。如果出錯,則返回 FALSE。

    例子:

    <?php $date = "2008-08-08 20:00:01"; print_r( split('[- :]', $date) ); ?>

    輸出結果:

    Array ([0] => 2008[1] => 08[2] => 08[3] => 20[4] => 00[5] => 01 )

    提示

  • 如果不需要正則表達式的功能,可以選擇使用更快(也更簡單)的替代函數如 explode() 或 str_split() 。
  • split() 函數對大小寫敏感,如果在匹配字母字符時忽略大小寫的區別,請使用用法相同的 spliti() 函數
  • 轉載于:https://my.oschina.net/sunYwp/blog/787231

    總結

    以上是生活随笔為你收集整理的PHP 正则表达式分割 preg_split 与 split 函数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。