如何使用preg_match_all在PHP中分隔此字符串?

时间:2017-04-09 02:17:01

标签: php regex preg-match preg-match-all

我想知道如何使用preg_match_all来分隔这个字符串

  

2:18 textextextextextext,sdfdsfd:,fdg

所以它会返回一个如下所示的数组:

array(
       0 => 2
       1 => 18
       2 => textextextextextext,sdfdsfd:,fdg
)

基本上删除第一个冒号

2 个答案:

答案 0 :(得分:2)

您可以使用格式化字符串:

print_r(sscanf("2:18 textextextextextext,sdfdsfd:,fdg", "%d:%d %s"));

答案 1 :(得分:1)

首先,您要使用的是preg_match()而不是preg_match_all()(根据您所需的输出)。

然后您可以使用正则表达式:

(\d+):(\d+)\s*(.*)

Live Demo

使用preg_match()的PHP中的内容如下所示:

$pattern = "/(\d+):(\d+)\s*(.*)/";
$string = "2:18 textextextextextext,sdfdsfd:,fdg";
preg_match($pattern, $string, $matches);

执行print_r($matches)会输出:

Array
(
    [0] => 2:18 textextextextextext,sdfdsfd:,fdg
    [1] => 2
    [2] => 18
    [3] => textextextextextext,sdfdsfd:,fdg
)