印刷可能な文字でいっぱいの任意のテキスト ファイルが与えられた場合、これをまったく同じようにレンダリングされる HTML に変換するにはどうすればよいでしょうか (次の要件があります)。
- デフォルトの HTML 空白規則以外には依存しません
<pre>
タグなし- CSS
white-space
ルールなし
<p>
タグは問題ありませんが、必須ではありません (<br />
および/または<div>
は問題ありません)空白は正確に維持されます。
次の入力行があるとします (誤った自動構文強調表示は無視してください)。
Line one Line two, indented four spaces
ブラウザーは、2 行目のインデントと「インデント」と「スペース」の間のギャップを維持して、出力をまったく同じにレンダリングする必要があります。もちろん、私は実際に等幅の出力を探しているわけではなく、フォントはアルゴリズム/マークアップに直交しています。
完全な入力ファイルとして 2 行を指定すると、正しい出力の例は次のようになります。
Line one<br /> Line two, indented four spaces
ブラウザでのソフト ラッピングが望ましいです。つまり、結果の HTML は、入力行がビューポートよりも広い場合でも、ユーザーにスクロールを強制するべきではありません (個々の単語がまだビューポートよりも狭いと仮定します)。
完全に定義されたアルゴリズムを探しています。pythonまたはjavascriptでの実装のボーナス ポイント。
<pre>
(タグや CSSルールを使用する必要があるとだけ答えないでwhite-space
ください。私の要件ではこれらのオプションを受け入れられないからです。また、「すべてのスペースを に置き換える」など、テストされていない、または単純な提案を投稿しないでください
。結局のところ、私は解決策が技術的に可能であることは間違いありません — 興味深い問題だと思いませんか?)