非破坏性的爆炸

时间:2013-11-08 13:59:35

标签: php arrays explode

爆炸字符串具有破坏性,因为你爆炸的字符串会被破坏。

$str = "ABCDEFGHIJKABCDEFGHIJK";
$arr = explode("DE",$str);

$ arr现在是:

[0] = ABC
[1] = FGHIJKABC
[2] = FGHIJK

是否有类似的(有效的)方法用“DE”爆炸相同的字符串,但结束时:

[0] = ABC
[1] = DEFGHIJKABC
[2] = DEFGHIJK

explode的唯一其他参数是对返回多少件的限制。

2 个答案:

答案 0 :(得分:6)

您可以使用preg_splitlookahead assertions

执行此操作
$arr = preg_split('[(?=DE)]', $str);

答案 1 :(得分:0)

<?php
$str = "ABCDEFGHIJKABCDEFGHIJK";
$arr = preg_split('[(?=DE)]', $str);
echo $arr[0]."<br/>";
echo $arr[1]."<br/>";
echo $arr[2];
?>