Preg拆分但将分隔符作为一个部分

时间:2013-10-31 11:13:22

标签: php

如果我有以下字符串:

string-with-word-split-should-be-split-here

我希望在最后一次出现单词split时拆分字符串,但该单词应该是返回结果的一部分 - 我该怎么做? preg_split也不爆炸允许这样做。

我想要的结果是:

array(
   'string-with-word-split-should-be', 'split-here'
);

我可以使用爆炸,抓住我需要的东西并使两个阵列爆炸等。但这似乎我忽略了一个更好的解决方案。我呢?

2 个答案:

答案 0 :(得分:0)

如果preg_split工作正常,除了缺少单词split,您仍然可以在循环后添加它。否则,请使用preg_match_all

答案 1 :(得分:0)

为什么不使用strrpossubstr

<?php
    $string = 'string-with-word-split-should-be-split-here';

    $splitPosition = strrpos($string, 'split-');
    if ($splitPosition !== false) {
        $split = array(
            trim(substr($string, 0, $splitPosition), '-'), 
            trim(substr($string, $splitPosition), '-')
        );
    } else {
        $split = array($string);
    }

    print_r($split);
?>

输出:

Array
(
    [0] => string-with-word-split-should-be
    [1] => split-here
)

DEMO