2013-10-31 37 views
0

,如果我有以下字符串:的Preg分裂,但要分隔符的一部分

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

,我想拆就在分词中最后一次出现的字符串,但这个词应该是返回的结果的一部分 - 我该怎么做呢? preg_split也不允许这样做。

结果我要寻找是:

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

我可以使用爆炸,抢我需要什么,让两个数组内爆等,但似乎像我俯瞰更好的解决方案。我是吗?

+0

与字符串作为例子,回报不应该更像'阵列( '串用字分割',-should-分裂',' - 这里')'? – Asenar

+0

如果您使用preg_split(),为什么不简单地使用PREG_SPLIT_DELIM_CAPTURE标志?或者我在这个问题上错过了一些深奥的东西?或者,如果使用PREG_SPLIT_DELIM_CAPTURE时包含连字符,则可以在拆分后使用trim() –

回答

0

如果preg_split可以正常工作,但缺少字split,您仍然可以在循环中添加它。否则,请使用preg_match_all

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