ど素人から毛を生やす。<延>

text()で改行コードを含むテキストを取得、alert()とかconfirm()とかtextareaとかに出力したかった話。

Web > javascript 2018年8月3日(最終更新:5年前)

2018年8月3日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
jsのしょーもない話です。

PHPで改行コードを含むテキストをHTML上に出力、jsでそれを拾ってconfirm()に表示、ってやりたかった。

<p>このテキストを出力したい。\n改行もしたい。</p>

message = $("p").text();
alert(message);

「このテキストを出力したい。\n改行もしたい。」

なして改行コードのまま出力されてしまうんじゃぁああ(T_T)

この疑問を解決してくれたのが、こちらのYahoo!知恵袋の投稿

えーっと、つまるところ、改行コードは「出力するときに一定の文字列が作用する」ものではなく、「改行コードという存在」として保持され、HTMLとJSでは「改行コードという存在」を宣言するコードが異なっている、と???

合ってんのかな、この解釈で…。

この場合、解決法は①HTML上に出力する改行コードをHTML用の改行コードにすることと、②JSで取り込んだ改行コードに見える文字列を改めて改行コードに指定し直すことの二通りがあるそう。


<p>このテキストを出力したい。&#10;改行もしたい。</p>

message = $("p").text();
message = message.replace(/\\n/g, "\n");
alert(message);

なんか、業種によっては超常識っぽいところで躓いた感がすげー悔しい。

この記事は役に立ちましたか?
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)
  • _(:3」∠)_ 面白かった (1)