Twitter の Web サイトでは、ツイートに新しい行が表示されることはありません。そのように見えるだけです。一部のクライアントは新しい行を表示しますが、Twitter は表示しません。スペースと同じように表示するだけです。ただし、実際の改行文字はツイートに残します。
drawatweet が機能しているように見えるのは、ワードラップが原因です。使用する文字や文字セットは関係ありません。また、使用する文字数も関係ありません。ツイートの次の単語が長すぎて段落の幅に収まらない場合は、折り返されます。ブロック文字から「単語」(スペースを含まない文字列)を作成しましたが、任意の文字を使用できます。
これをテストするには、新しい行をスペースに置き換えます。それはまだラップします。2 行目にスペースを追加することもできます。2 行目の最初の部分が最初の行になるため、新しい行が保持されないことがわかります。ブロックを独自のキャラクターに置き換えると、それも機能します。
したがって、解決策は、彼らがそうであるように、それを偽造し、常に折り返すのに十分な長さの行を作成することです. 単一の「単語」を扱っている場合は、Unicode no-break space
( %C2%A0
) を使用して、折り返したくないスペースを置き換えることができます。これで短い行をパディングして、折り返すのに十分な長さにすることもできます。
デモ:
<a href="https://twitter.com/intent/tweet?text=123456789012345678901234567890%0A123456789012345678901234567890%0A123456789012345678901234567890" target="_blank">long lines with \n - works!</a><br />
<a href="https://twitter.com/intent/tweet?text=123456789012345678901234567890%20123456789012345678901234567890%20123456789012345678901234567890" target="_blank">long lines with spaces instead of \n - works! (same as \n)</a><br />
<a href="https://twitter.com/intent/tweet?text=123456789012345678901234567890%0A12345678 9012345678901234567890%0A123456789012345678901234567890" target="_blank">long lines with \n - space in line - doesn't work</a><br />
<a href="https://twitter.com/intent/tweet?text=123456789012345678901234567890%0A12345678%C2%A09012345678901234567890 %0A123456789012345678901234567890" target="_blank">long lines with \n - no-break space (%C2%A0) in line - works!</a><br />
<a href="https://twitter.com/intent/tweet?text=12345678901234567890%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%0A12345678901234567890%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%0A12345678901234567890" target="_blank">short lines with \n - no-break space (%C2%A0) padding - works!</a><br />