当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。