使用preg_split但保留分隔符

时间:2015-08-24 14:14:14

标签: php delimiter preg-split

我阅读了其他相关帖子,但不可能让它适用于我的情况。

我有以下文字:

This. Is a test. I show. You.

我想使用preg_split使用分隔符'。 '(点+空格),但我需要在返回的数组中保留分隔符。这是必要的结果:

array(
    '0' => 'This.',
    '1' => 'Is a test.',
    '2' => 'I show.',
    '3' => 'You.',
);  

我已经尝试过的事情:

preg_split("/(\.\s/)", $text, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);

2 个答案:

答案 0 :(得分:1)

试试这个

$matches = preg_split("/ (?=.)/", $text);
var_dump( $matches);

答案 1 :(得分:0)

使用preg_split()等更多

$text="This. Is a test. I show. You.";
$myVec=preg_split("/(\.\040)/", $text,-1,PREG_SPLIT_DELIM_CAPTURE);
$j=0;
for ($i = 0; $i < count($myVec); $i++) {
    if ($myVec[$i]!=". ") {
        $myNewVec[$j]=$myVec[$i];
    }else{
        $myNewVec[$j-1]=$myNewVec[$j-1].$myVec[$i];
    }
$j++;
}
echo"<pre>";
var_dump($myNewVec);
echo "</pre>";