2017-08-31 27 views
0

両方が、私は次の文字列を持っていると言う:キープテキスト:改行、空白と長い単語

"This line should always break on newline \n, spaces if it is about to overflow and veryLongLinksThatDoNotFitInsideTheDiv" 

私はそれが壊したく:

  • \ nを(常に)
  • 好ましくないの空白(オーバーフローしそうであるならば)
  • (それは全体の1行に収まらない場合)長い単語
  • しかし、次の行に収まる可能性がランダム小さな単語が(How to limit break-all to only long words?

text flowing out of divに基づいて、私が試した:

<div id="log" style="word-break: break-all"></div> 
    <!-- <div id="log" style="word-wrap: break-word"></div> --> 
    <!-- <div id="log" style="white-space: pre-line"></div> --> 
    <!-- <div id="log" style="white-space: pre; word-break: break-all"></div> --> 

しかし、私はすべての3(も4)の基準を満たすことができません。

フィドル:https://jsfiddle.net/6kq14cfc/

答えて

1

あなたは

<div id="log" style="overflow-wrap: break-word;white-space: pre-wrap;"></div> 

または

<div id="log" style="word-wrap: break-word;word-break: normal;white-space: pre-wrap;"></div> 
+0

Amit、ご返信ありがとうございます。残念ながら、少なくとも私のフィドルでは、提案された解決策は改行文字 "\ n"に対処しません。他の要件を満たしています。 –

+0

@ThomasHubregtsen:確認するには、2つの\ nを同時に入力します。余分な改行が表示されます。 – Amit

0

私はあなたが答えは "< BR/>" と "\ n" を交換することにあるだと思う使用することができます。 HTMLは改行文字を認識しません。代わりに< br/>タグが必要です。

+0

ありがとうラーマシュナイダー。しかし、 "white-space:pre-line"は新しい行として\ nを受け入れます。残念なことに、この場合、単語区切りは機能しません。 (私もこれをフィドルに入れてショーケースに入れました)。可能であれば、私は自分のサーバが送信したもの/ JavaScriptを使ってデータを置換することを変更したくない。 –

関連する問題