2017-05-10 1 views
1

私は、複数の改行を持つ可能性があるデータベースフィールドから設定される変数を持っています。私は区切り文字として最初の改行のみを使用して、その変数からのテキストを2つの別々の変数(または2つの値を持つ配列)に分割するPHPコードを必要とします。mysqlデータベースから文字列を2行に分割するには、改行または改行を使用しますか?

あなたは私がやろうとしていることを理解しているので、変数が出てくるデータベースフィールドは投稿メッセージであり、最初の改行までの最初のビットを投稿タイトルとそれ以降それは投稿メッセージとして。

次のように例は次のようになります?。。

$ MYVARIABLE =「あなたは今日何が起こったのかと考えています\偉大nこの はほとんど私を走った大きなバスはその後、私は道から飛び出し\ nThen何かをそうでなければ が起きて、それはもっと狂っていました。\ n私は家に帰ることにして、 日がちょうど狂っていたので、昼寝しました。\ n私は象が好きです ズボン、フィット私\ nSNUGG!

私の新しい変数はなる:

$ title_from_myvariable = "あなたは今日何が起こったのか信じますか?"。

$ message_from_myvariable =「この巨大なバスはほとんど私を走った。 それから私は、道から飛び出した。\他nThenの何かが起こったとそれが より夢中だった。\ nFinally私は家に帰って昼寝を持っていることにしたので、 。象のパンツのような 日はあまりにも狂った\ NI、フィット 私nSNUGG \ "!;

私はデリミタとして\ nを使い、explodeを使ってこれを行ういくつかの方法を見てきましたが、explodeも使ってPHP_EOLを調べました。

次のようにこのことについて、いくつかの偉大なスレッドがあります

How to put string in array, split by new line?

Explode PHP string by new line

私はのようなコードを使用する場合、問題がある:

$new_array_with_new_variables = explode("\n", $myvariable); 

または

$new_array_with_new_variables = explode("PHP_EOL", $myvariable); 

私はそこに任意の提案スーパーコーダー

...変数にEVERY新しい行を分割終わりますか?私はちょうどこれを把握することはできません!

答えて

-1

以下は、あなたが探しているものを行います。

$new_array_with_new_variablesTMP = explode("\n", $myvariable); 
$new_array_with_new_variables = array($new_array_with_new_variablesTMP[0]); 
array_shift($new_array_with_new_variablesTMP); 
array_push($new_array_with_new_variables, implode('\n', $new_array_with_new_variablesTMP)); 

print_r($new_array_with_new_variables); 

結果:

Array 
(
    [0] => Do you believe what happened today? 
    [1] => This great big bus almost ran me over. Then I jumped out of the way.\nThen something else happened and it was more crazy.\nFinally I decide to go home and have a nap because the day was just going too crazy.\nI like elephant pants, the fit me\nSNUGG! 
) 

はライブ、それを参照してください:http://sandbox.onlinephpfunctions.com/code/0ff2eeb5fb73593a2baa6b6abd88878281ac9acf

+0

あなたの回答と他の回答の違いは何ですか? – bigbounty

+0

私は他の答えをテストしていません。私が答えてページを出た後に投稿されました。私の解決策は動作します。そんなこと知ってる。あなたのプロジェクトで幸運 –

+0

ありがとう@ SteeringBeasonそれは動作しますが、1つの問題があります。私はすべての改行がArray [1]の一部として残るようにする必要があります。どのように私はそれを達成することができる任意のアイデア...ありがとう助け男! –

0

これは有効なアプローチです。

<?php 
$pieces = explode("\n", $myvariable); 
$title_from_myvariable = $pieces[0]; 
$message_from_myvariable = implode("\n", array_slice($pieces, 1, count($pieces) - 1)); 
関連する問題