5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

HTMLでダブルクォーテーションで囲むと、おかしなところで文字送りされてしまう話し


HTMLを書いていて、おかしな挙動をしたのでメモしておく。

まずは、こんな感じでdivの範囲でpタグで囲まれた単純な文章を流し込んで表示した。すると文章の間で改行されて文字送りされてしまう。

文章のどれが影響を与えているかと思って、いろいろと文章を切ったりして試したところ、ダブルクォーテーションで囲んだ部分が悪さしていた。ダブルクォーテーションは、" 、 &#147(左のダブルクォーテーション)、&#148(右のダブルクォーテーション)でも同じく発生する。シングルクォーテーションでは、予定通りに途中のおかしなところで文字送りされれずことはない。ダブルクォーテーションで囲んだら、囲んだ文字列は改行されないようだ(後術)。

とりあえずの解決策としては、ダブルクォーテーションの前に空白を入れてあげることだった。こんな感じである。

しかし、今度はダブルクォーテーションで囲まれた文字列の中で改行されている。どうも前述のダブルクォーテーションで改行されてないというのは違っているようだ。空白があるかないかで、挙動が違ってくるのは不思議である。

試したブラウザはChromeであるが、Firefoxでも同じ現象が発生する。

もしかしたら、ここだけで環境でたまたま発生しているのか、またまた仕様なんだろうか? 前者だったら、この記事は忘れておくれ。

技術評論社
¥1,980 (2024/11/20 15:28時点 | Amazon調べ)