0

如果我有以下字符串:

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

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

我要寻找的结果是:

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

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

4

2 回答 2

0

为什么不只使用strrposand substr

<?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
)

演示

于 2013-10-31T11:21:14.040 回答
0

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

于 2013-10-31T11:20:21.710 回答