• ベストアンサー

&はそのまま使っても大丈夫なのでしょうか。

&はそのまま使っても大丈夫なのでしょうか。 基本的なことで済みません。 >と<と&の3つは特別な記号なので&gt;のように書くと本にありました。   質問1 >と<はタグの記号なので特別だとは分かりました。 しかし、&はどういう時に使うのでしょうか。 質問2 <p>私 & 友達は昼食を食べに行きました。</p> このような例文で&は&amp;と書かないといけないと思います。 でも表示できてしまいます。別にこのままでもいいんでしょうか。 それとも文法的にはおかしいのでしょうか。  

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

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

#1 です。 > <p>you & I go to school</p> 詳しくは仕様書を読んで欲しいのですが、実体参照には [#x20] が含まれないので & に SPACE が後続するなら、実体参照と解釈されることはありません。 ですので、それが「HTML文書」ならば、ブラウザで表示することは "できます"。 --- [68] EntityRef ::= '&' Name ';' http://w4ard.eplusx.net/translation/W3C/REC-xml-20081126/#NT-EntityRef [4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] [4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] [5] Name ::= NameStartChar ( NameChar )* http://w4ard.eplusx.net/translation/W3C/REC-xml-20081126/#NT-NameStartChar --- ---------- > こんな文書でも&は&amp;を使うべきだと考えていますか? はい。&amp; を使う "べき" だと思います。 --- <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <title>HTML5</title> </head> <body> <p>you & I go to school</p> </body> </html> --- この文書を http://validator.w3.org/ でチェックするとエラーは出ませんが、 <p>you &I go to school</p> にすると、「Line 8, Column 8: & did not start a character reference. (& probably should have been escaped as &amp;.)」のエラーを返します。 タイプミスですが、きちんと実体参照にしておけば防げる問題です。 また、「XHTML文書」で下記を記述すると、 <p>you & I go to school</p> 「error on line 8 at column 9: xmlParseEntityRef: no name」のエラーをブラウザが返し、コンテンツを表示できません。 コンテンツをまともに読めないのですから、& をそのまま使うべきではありません。 ---------- この質問は、 <pre><code>if (1 > a) { alert(a); }</code></pre> 「こんな文書でも > は &gt; と書くべきですか?」に近い問題を持っていると思います。

noname#121245
質問者

お礼

大変ご丁寧に有り難うございました。 私の現在の知識では分からないことが 多すぎなのですが、&をそのまま使うと まずい場面も多くあるというのは理解できました。 think49様の回答を全面的に理解するには 1年ぐらいかかりそうです^^;   <p>you & I go to school</p> こういう場面でも&amp;を使うべきであると分かれば ミッションクリアです。お疲れ様でした。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

< や > を &lt; &gt; と書くように教わった解説サイトなどで、利用されます。 &amp;lt; &amp;gt; などの文字参照(記号)に置換えしなければ < や > を表示説明出来ないから。 数値参照も合わせれば数百個が & から始まる。 動的URIなどにも含まれる場合は、リンクする場合も &amp; にします。 &も特別なのです。 半角はダメ、全角なら大丈夫かな。

noname#121245
質問者

お礼

回答有り難うございます。 調べてみたら確かに数百個もあるようですね。   まさか全部をイチイチ実体参照から 書くわけではないと思いたいのですが・・・   動的URIに含まれる場合は&amp;にするのは 何となく特別な場合だっていうのは分かります。 #1の方のお礼に書いたように <p>you & I go to school</p> こんな一文もいちいち&amp;と書かなければいけないのでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • think49
  • ベストアンサー率59% (285/482)
回答No.1

「HTMLでは & を &amp; と書く必要があります」という文章を HTML で書くにはどうすればいいか、を考えてみればわかると思います。 細かな説明は過去に回答した記事があるので、参考にしてみて下さい。 HTML5では文中の半角不等号はちゃんと特殊文字として書くべき? | OKWave http://okwave.jp/qa/q6019115.html HTML Validator でURL内の&がエラーになる件 | OKWave http://okwave.jp/qa/q6133955.html

noname#121245
質問者

お礼

クイズで返されるとは思いませんでした。 ちょっと悩みましたよ。 それはともかく、実体参照で検索してみたら 凄まじくたくさんあるのですね。 ということで頭が混乱状態になってしまいました。 少しシンプルに考えたいのですが、例えば <p>you & I go to school</p> こんな文書でも&は&amp;を使うべきだと考えていますか? 私はそんな必要はないと思っているのですが。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ▲▲HTMLで特殊記号を入力する際にへんになる??▲▲

    こんばんは☆ HTMLで特殊記号を表示させる場合、例えば☆ < →&lt; 又は < > →&gt; 又は > とあるのはわかっているのですが、もしこのようなタグの中に組み込む場合どのように記入すればよいでしょうか?? -----例----- &title02=<font color="#000000">基本タグ</font>& &data02=例HTML& ------------ ↑これはフラッシュを設定するtxtに書かれているものです。すでに&が入っているためか・・・。 ↓のように入力すると -----例----- &title02=<font color="#000000">基本タグ</font>& &data02=例&lt;HTML&gt;& ------------ 基本タグ 例 ------------ ↑このように表示されてしまいます・・・。 本当は↓ ------------ 基本タグ 例<HTML> ------------ ↑このように表示させたいのです。。。。 わかる方、教えてください♪ よろしくお願いします♪

    • ベストアンサー
    • HTML
  • なぜWebサービスのリンクは「&」のままなのか?

    HTMLを書いて、ソースチェックするところで確認しながら作っています。 そこでいつも引っかかるのが「不明な実体参照」がどうとか。 何のことかと調べていたら、どうやら「&」の記号を「&amp;」で書いていなかったのが原因のようです。 ただ、この部分のソースって、アフィリエイトやカウンター、その他、ブログパーツなどのWebサービスのものなんですよね。 こういったWebサービスの貼り付けようソースは改変禁止としながら、HTMLに沿ってない「&」をそのまま使う形になってるのはなぜなんでしょうか? 開発者にHTMLの知識が無い? でも、Amazonみたいな大手のアフィリエイトソースもそのまんま「&」が使われていました。 「a href」内のURLだとしても、「&」は「&amp;」にするのがHTMLのセオリーだそうですが、そのわりにWebサービスでそのまま「&」が使われたソースをコピペさせようとするのはなぜなんでしょうか? ちなみに「&」を「&amp;」に書き直してみても、普通にアフィリエイトリンクなどは表示されました。

    • ベストアンサー
    • HTML
  • 受信したメールがタグのまま表示されてしまいます・・・

    メールフォームを作成してみたのですが、 あるメールを受信した際に、 (スペース)&lt;br&gt; と、改行タグ<br>がタグのまま表示 されてしまっています。 考えられる原因等はありますでしょうか。 ご教授頂けましたら幸いです。 以上、よろしくお願いします。

  • HTML5に移行を見据えた上で

    ビルダー使いの初心者でWeb作家です。 fontタグが廃止になるということを知り、サイトのタグを(全200ファイルほど)をspanに全置き換え完了したはばかりです。 今度は「<br>タグの連続はいけない」と言うことを知り全て<p>~</p>で括る作業が完了したばかりです。 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ↑上記サイトでチェックしたところ構文エラーはないですけれど 例文です。 <p><span class="red">「今日は寒いね」</span><br>  彼はそう言って笑った。</p> <p><span class="blue">「あ…、雪だ」</span></p> ↑ここは<div class="blue">などに置き換えるべきである。 それは分かっているのですけれど、修正個所が多すぎるため直しようがないんです(これ以上執筆を停滞させるわけにもいきませんし)。 ある意味、文法違反ですよね。ブラウザ上でも問題なく表示されています。 1.直さない場合、将来的に何かマズいことはありますか? 2.例えば…、文法違反をすると何か起こるのでしょうか? 私小説のため、認証をかけてありますけれど(持病の話し等が出てくるため極親しい人にのみ公開しています)、そのためSEO対策は重視しておりません。 どなたか教えて下さい。

    • ベストアンサー
    • HTML
  • 特殊記号が勝手にエスケープされてしまう

    Windows2000 ServerにおいてVBScriptとMicrosoft.XMLDOMを用いてASPスクリプトを作成しています。 XMLで特殊文字<,>,",',&を扱う際には&lt;,&gt;,&quot;,&apos;に置換しなくてはならない事はわかったんですが、 実際にReplaceすると例えば&lt;が&amp;lt;になってしまいます。 置換する順番を変えてもこうなるのでおかしいと重い、&amp;への置換を止めてもです。 しかもこれは読み出すと何事も無かったかのように&amp;lt;が&lt;へと戻っています。 試しに置換を全く行わない状態で 「テスト&'>"」という文字列を保存してみると、 保存先ファイルの中では「テスト&amp;'&gt;&quot;」という状態になっていました。 恐らく&,<,>,"が勝手に置換され、読み出される時には元に戻す処理が行われていると思うんですが、これがどの部分で行われているのかがよくわかりません。 JavaScriptで読み出した際にも同様に復元されていたようなので、MSXMLの仕様なのかなと思うんですが、それを裏付ける資料を見つける事もできませんでした。 XMLにおける特殊記号の扱いについて書いているサイトにも記述が見つからなかったので、もしかしたら凄く基本的な事だったりおかしな質問だったりするのかもしれませんが、ご存知の方がいらっしゃいましたら是非ご教授願いたいです。 参考URLだけでも良いですのでどうかよろしくお願いします。

    • ベストアンサー
    • XML
  • イメージタグはタグで囲むべき?

    CSSを使ってサイトを作成しています。 気になった事があったので質問させてください。 テキスト(文字)を入力する祭は、<p>~</p>・<div>~</div>等のタグで囲むかと思います。 <img src="" width="" height="" alt="" /> 上記のようなイメージタグは、<p>~</p>・<div>~</div>等で囲む必要はあるのでしょうか? 囲まなくてはいけないものなのでしょうか? <p>~</p>・<div>~</div>タグにスタイルをつけていなければ、 囲んでも囲まなくても表示は変わりませんが、HTML的というか文法的に囲むべきなのでしょうか? ※<p>タグは「reset.css」で上下改行なしにしてあります。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • タグの不等号処理

    ただいまperlにて掲示板を製作中です。PC上でApacheを使いチェック中なのですが、タグなどで仕様する不等号を変換することが出来ません。下記のように処理しているのですが、なぜか変換されません。 foreach (@data){ s/&/&amp;/g; s/>/&gt;/g; s/</&lt;/g; s/"/&quot;/g; s/\r\n/\<br\>/g; s/\n/\<br\>/g; } ちなみにs/&/&amp;/g;の[&amp;]の部分を[AA]等に変更すると 問題なく[&]は[AA]に変更されます。 なぜなのでしょうか?表示時にタグとして認識されてしまい困っております。どうかご教授下さい。

    • ベストアンサー
    • CGI
  • ME-90

    下記の内容で質問があります。回答をいただけると助かります。よろしくお願いします! ▼製品名 ME-90 ▼質問したい箇所・部品がありましたら、教えてください。 スピーカーシミュレーター(IR)について 工場出荷時は ペダル1(表示0)にセットされているIRがGt. AMP/LINE スイッチがLINEの時に有効になるという解釈でよろしいでしょうか? Gt. AMP/LINE スイッチがGt. AMPの時にスピーカーシミュレーター(IR) を有効にする方法はありませんでしょうか? ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。

  • <p>タグについて

    <p>タグの内容説明として間違っているのはどれでしょうか? 1.表示位置を指定できる 2.<p>タグを使用すると、連続したタブなどがオリジナル状態のまま表示される 3.特に何にも設定しない場合、<p>タグの上下に空白が入る 教えて下さい。どんなに調べてもわかりません (;_;)

  • ページ移動してもURLをtopのままにするタグ

    企業のHP等でたまにあるのですが、 「サイト内の別のページへ移動しても、アドレスバーに表示されるURLは常にtopのまま」 このタグを教えてください。 別のページをブックマークしても、必ずtopに繋がるようにできていました。 ソースを見てもいまいちわかりません。 どこに打てばいいのかも教えてください。

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • Lenovo YT-K606Fでマウスを繋いだ時にタッチパネルを無効にする方法について教えてください。
  • Lenovo YT-K606Fのタッチパネルを無効にする方法を教えてください。
  • Lenovo YT-K606Fでタッチパネルをオフにする方法を教えてください。
回答を見る