2017-03-04 72 views
-3

我有一個包含單詞和關鍵字的字符串,關鍵字以「#」開頭,​​並且位於其相應單詞後面的一行或多行中。PHP字符串操作

我有這個字符串:

word1 
#keyword1#keyword2#keyword3#keyword4#keyword5 
word2 
#keyword1#keyword2#keyword3#keyword4#keyword5 
#keyword6#keyword7#keyword8 
word3 
#keyword1#keyword2#keyword3 
#keyword4#keyword5 
#keyword6#keyword7 

我想得到這樣的輸出:

word1*#keyword1#keyword2#keyword3#keyword4#keyword5 
word2*#keyword1#keyword2#keyword3#keyword4#keyword5#keyword6#keyword7#keyword8 
word3*#keyword1#keyword2#keyword3#keyword4#keyword5#keyword6#keyword7 

我應該怎麼辦?我不知道如何處理這個。

+0

做你試圖串聯呢? – Ravi

+0

是的,但我根本不知道 – dany

+0

不知道是什麼?連接字符串? – Ravi

回答

1

我認爲是是:

$str = "word1 
    #keyword1#keyword2#keyword3#keyword4#keyword5 
    word2 
    #keyword1#keyword2#keyword3#keyword4#keyword5 
    #keyword6#keyword7#keyword8 
    word3 
    #keyword1#keyword2#keyword3 
    #keyword4#keyword5 
    #keyword6#keyword7"; 

    $results= (preg_split('/(\n)+/', $str)); 
    $strArr = []; 
    $str = ""; 
    foreach($results as $result) { 
     if($result[0] != "#") { 
      if(!empty($str)) { 
       $strArr[] = $str; 
       $str = ""; 
      } 
      $str .= $result . "*"; 
     } else if($result[0] == "#") { 
      $str.= $result; 
     } 
    } 
    $strArr[] = $str; 
    var_dump($strArr); 

結果:

array(3) { 
     [0]=> 
     string(53) "word1 
    *#keyword1#keyword2#keyword3#keyword4#keyword5 
    " 
     [1]=> 
     string(81) "word2 
    *#keyword1#keyword2#keyword3#keyword4#keyword5 
    #keyword6#keyword7#keyword8 
    " 
     [2]=> 
     string(72) "word3 
    *#keyword1#keyword2#keyword3 
    #keyword4#keyword5 
    #keyword6#keyword7" 
    }