當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP preg_split()用法及代碼示例


preg_split()函數是PHP中的內置函數,用於將給定的字符串轉換為數組。該函數將字符串分成用戶指定的長度較小的字符串或子字符串。如果指定了限製,則小字符串或子字符串直至限製通過數組返回。 preg_split()函數與explode()函數相似,但差異用於規則表達式以指定分隔符,但未使用explode分隔符。

用法:

array preg_split( $pattern, $subject, $limit, $flag )

參數:該函數接受上述和以下所述的四個參數:


  • $pattern:該值是字符串類型,該模式將模式搜索為字符串,否則將元素分隔。
  • $subject:$subject是變量,用於存儲輸入字符串。
  • $limit:$limit是指示限製。如果指定了限製,則返回小數或子字符串以達到限製。如果限製為0或-1,則指示“no limit”,然後由標誌($strflag)使用。
  • $flags:$flags用於信號化,其變量類型用於指示兩種狀態True或False,以控製程序。不同標誌的組合,如下所示:
    • PREG_SPLIT_NO_EMPTY:如果將標誌變量設置為PREG_SPLIT_NO_EMPTY,則preg_split()函數將僅返回非空片段。
    • PREG_SPLIT_DELIM_CAPTURE:如果將flag變量設置為PREG_SPLIT_DELIM_CAPTURE,則定界符模式中帶括號的表達式也將被捕獲並返回。
    • PREG_SPLIT_OFFSET_CAPTURE:如果將flag變量設置為PREG_SPLIT_OFFSET_CAPTURE,則對於每個匹配項,將返回附加字符串偏移量,並更改數組中的返回值,該數組中匹配的字符串偏移量將為0,而輸入字符串偏移量將為1。

返回值:分割邊界匹配後,此函數返回一個數組。當原始數組或字符串的限製超過時,則返回一個數組元素,否則為False。

以下示例程序旨在說明PHP中的preg_split()函數:
程序1:

<?php 
  
// Input string 
$inputstrVal  = 'Geeksarticle'; 
  
// Implementaion of preg_split() function 
$result = preg_split('//', $inputstrVal , -1, PREG_SPLIT_NO_EMPTY); 
  
// Display result 
print_r($result); 
?>
輸出:
Array
(
    [0] => G
    [1] => e
    [2] => e
    [3] => k
    [4] => s
    [5] => a
    [6] => r
    [7] => t
    [8] => i
    [9] => c
    [10] => l
    [11] => e
)

程序2:

<?php 
  
// PHP program of preg_split() function 
// split the phrase by any number of commas  
// space characters include \r, \t, \n and \f 
  
$result = preg_split("/[\s,]+/", "Geeks for Geeks"); 
  
// Display result 
print_r($result); 
?>
輸出:
Array
(
    [0] => Geeks
    [1] => for
    [2] => Geeks
)

程序3:

<?php  
  
// PHP program to implementation of 
// preg_split() function 
  
// Input original string 
$inputstrVal = "http://php.net/archive/2018.php";  
$patternstrVal= "/[http:\/\/|\.]/";  
  
// Implement preg_split() function 
$result = preg_split($patternstrVal, $inputstrVal, 0,  
   PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);  
  
// Display result 
print_r($result );  
?> 
輸出:
Array
(
    [0] => Array
        (
            [0] => ne
            [1] => 11
        )

    [1] => Array
        (
            [0] => arc
            [1] => 15
        )

    [2] => Array
        (
            [0] => ive
            [1] => 19
        )

    [3] => Array
        (
            [0] => 2018
            [1] => 23
        )

)

參考: http://php.net/manual/en/function.preg-split.php



相關用法


注:本文由純淨天空篩選整理自jit_t大神的英文原創作品 PHP | preg_split() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。