2017-03-04 54 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" 
    }