• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTML5では文中の半角不等号はちゃんと特殊文字として書くべき?)

HTML5で半角不等号を特殊文字として書くべき?

このQ&Aのポイント
  • HTML5で半角不等号を特殊文字として書くべきかについて悩んでいます。プログラミングのページを作る際に、preタグでソースコードを記述したところ、半角小なりを使うとエラーとなりました。しかし、半角大なりも使うべきではないのでしょうか?特殊文字ではなくそのまま入力する方が見やすいという利点もあるため、迷っています。
  • HTML5で半角不等号を特殊文字として書くべきかについて質問です。preタグでソースコードを書く際に、半角小なりを使用するとエラーが発生しますが、半角大なりも使用するべきなのでしょうか?特殊文字として書くと見た目が少し変わってしまいますが、どちらが望ましい方法なのでしょうか?
  • HTML5で半角不等号を特殊文字として書くべきかについて疑問があります。プログラミングのページを作る際に、preタグでソースコードを書いたところ、半角小なりを使用する場合にエラーが出ました。しかし、半角大なりも使用するべきではないのでしょうか?特殊文字として書くと見た目が変わってしまいますが、正しい方法はどちらなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.2

&amp; を文字として表示させたい場合は、&amp;amp; と書く必要があります。 ブラウザは & にアルファベットが続いたときにそれを実体参照だと認識します。 例えば、&lthtml とすると、&lthtml の実体参照を探し、存在しないのでそのまま表示します。(IE8-は「<html」と認識するようです) 全ての実体参照を認識していれば、使い分けられるのでしょうが、今後増えていかないとも限らない実体参照を覚えて使い分けるのは徒労だと思います。 <a href="./search?foo=a&lt;"></a> ブラウザはhref属性値に "./search?foo=a<" があると認識します。 <a href="./search?foo=a&amp;lt;"></a> こちらは、"./search?foo=a&lt;" と認識します。 属性値内でも実体参照は有効なので、& は出来るだけエスケープした方が良いでしょう。 <test> を文字列として表示する場合は、&lt;test&gt; と記述します。 こちらは比較的分かりやすいルールですが、ブラウザがメタキャラクタとして認識する文字は、やはりエスケープすべきだと思います。 <span title="&quot;test&quot;">test</span> ダブルクオートで括られた属性値でダブルクオートを代入したい場合も、実体参照を使います。 シングルクオートも同じです。 テキストノード上では、クオートをエスケープしなくても問題はないような気もしますが、統一性を考えるとエスケープした方が良いかもしれません。 HTML Document Representation (ja) http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/charset.html#h-5.3 8 The HTML syntax ? HTML5 http://www.w3.org/TR/2010/WD-html5-20100624/syntax.html#character-references > また、他にも「これは特殊文字で記述すべき」という記号はありますか? 空白文字やCopyrightなどのUnicode文字でしょうか。 &#x0009; (タブ文字) &nbsp;   &#xA0; (no-break space) &#x200B; (zero-width space) © (Copyright) 余談。 XHTML5になると実体参照文字はXML1.0規定のものに限定され、ほとんど数値参照で指定することになります。 http://www.y-adagio.com/public/standards/jis_xml/main.html#sec-predefined-ent

hashiku
質問者

お礼

No.3も読みましたが、こちらでまとめさせていただきます。 属性値までは考えていませんでした(笑) 2つ目の方にも答えていただきありがとうございます。

その他の回答 (2)

  • think49
  • ベストアンサー率59% (285/482)
回答No.3

#2です。 HTML予約文字のエスケープチェックは HTML-lint が行ってくれます。 HTML-lint はHTML5未対応ですが、エスケープチェッカーとしてなら十分使えると思います。 Another HTML-lint gateway http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

HTML5というより、 HTML4でもXHTMLでも普通、  半角(<) ----> $lt;  半角(>) ----> &gt; でしょ。 他にも  半角(&) ----> &amp;  半角(”) ----> &quto;  半角(’) ----> &apos; ( 半角(スペース) ----> &blank; )  とか実体参照文字といいます。

hashiku
質問者

お礼

ありがとうございます。 「特殊文字で~」っておかしいですね・・・ おっしゃるとおり実体参照のことです。 アンパサンドなどについてもそのような表記があるのは知っていますが、 そのような文字は普通、そのまま書いても問題になりませんよね。 (半角スペースは並べられなかったりしますが) 半角不等号以外に実体参照で表現すべき文字はありますでしょうか。

関連するQ&A

専門家に質問してみよう