我正在尝试使用 preg_split 如下:
$tarea = "13.3R4.2";
$keywords = preg_split("/[0-9]*.[0-9][a-zA-Z]/", $tarea);
print_r ($keywords);
我无法捕获数组 [0] 值。以下是输出:
Array ( [0] => [1] => 4.2 )
我想捕获数组的两个索引。我不确定我在这里犯了什么错误。
我期望的输出是:
Array ( [0] => 13.3R[1] => 4.2 )
preg_split()
的目的。它在指定的分隔符上分割字符串,这意味着它不是为了返回分隔符而设计的。您想使用 preg_match()
返回匹配的子字符串:
$tarea = "13.3R4.2";
preg_match_all("/[0-9]+\.[0-9][a-z]?/i", $tarea, $matches);
print_r($matches);
$tarea = "13.3R4.2";
$keywords = preg_split('/(\d*\.\d\w?)/',$tarea, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
print_r ($keywords);
输出:
Array ( [0] => 13.3R [1] => 4.2 )
谢谢大家的大力帮助!!!