2017-06-06 6 views
-1

PHPでMSSQLデータベースからデータを受信して​​います(PDO sqlsrvドライバを使用)。php - データベースから新しい行で文字列を分割できません

文字列を改行する必要があります。

DBでは文字列は次のようになります。私は、コードをデバッグするとき

$text = explode("\n\n",$text); 
$text = preg_split("/\n\n/",$text); 

それとも

$text = explode("\n",$text); 
$text = preg_split("/\n/",$text); 

:ノー成功を収めて次のことを試してみました

the string in the database

ブラウザにテキストを印刷すると、文字列が1つのliとして表示されますne。

text echoed to the broswer

しかし、私はクロームの要素を調べる場合は、それが正確にデータベースのように表示されます。

text inspected with chrome

私はインスペクタから正規表現テスターに​​テキストや改行をコピー正常に見つかりました!しかし、 "エコーされた"テキストは1行に収まっていました。

+1

見に行くであれば、私は確信している。このexplode(',', $input);

または のように爆発してみてください休憩がそこにあります。画面出力に 'nl2br()'を使用するか、 '
'を使用してください。 –

+0

どのようにこの文字列をデータベースに挿入しますか?新しい行を追加しましたか?またはbrタグ? –

+0

@ Fred-ii- well nl2br()は実際には
を正しい場所に追加しますが、それからちょっと面倒な
という文字列を分割してください。 –

答えて

2

改行文字をカンマ(、)などの特殊文字で置き換えてください。

preg_replace("/((\r?\n)|(\r\n?))/", ',', $input); 

そして、結果セットは、ファイルは、この記事を通して、あなたのHTMLソースで

explode(PHP_EOL, $input); 

https://stackoverflow.com/a/29471912/4895810

+0

ありがとう、このメソッドを使用して終了しました。'preg_split(" /(\ r \ n)|(\ r \ n?))/ "、$ text);'ちょうどうまくいきませんでした!しかたがない... –

関連する問題