2013-10-31 74 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