2011-02-01 12 views
1

私はどのように私のページにパラメータを取得して有効なリンクを配置できますか?有効なリンクはGETパラメータ

私はバリデータを実行すると、それはエラーを与える:

Line 37, Column 37: reference to entity "p" for which no system identifier could be generated 
<li><a href="index.php?c=tutorials&p=cat&cid=1" >LINK</a></li> 
+0

**関連項目:** *(同じ質問は「HTML」とタグ付けされています)* [アンパサンドをにエンコードしますか?](http://stackoverflow.com/q/3705591/1497596) – DavidRR

+0

@DavidRR同じではありません質問と同様ですが違う質問です。彼は、アンパサンドをコード化する必要があるかどうかを尋ねています。バリデーターでなぜそれが間違っているのか質問しています(アンパサンドのエンコーディングについてはわかりませんでしたので、エンコーディングについて何かを検索しなければならないのか分かりませんでした) – kravemir

答えて

4

http://css-discuss.incutio.com/wiki/Code_Validation

こちらから最も一般的なエラーは次のようになります。 その意味は、単純に、&のURLに脱出を忘れたサインがあることです。例えば

:このURLで <a href="script.cgi?id=4&BV_Engine=20">

&サインが&でなければなりません。実際、HTML文書のALL &記号をこのようにエスケープして、HTMLパーサーに混乱を与えないようにする必要があります。他は上記の投稿したとして、上記の例では、

<a href="script.cgi?id=4&amp;BV_Engine=20"> 
2
はあなたのアンパサンドをエスケープ

<li><a href="index.php?c=tutorials&amp;p=cat&amp;cid=1" >LINK</a></li> 
+0

btw:http://css-discuss.incutio.com/wiki/Code_Validation –

1

あなたは&代わりの平野&を使用する必要があります。そのhtmlエンティティ。何のシステム識別子が生成されない可能性があるため、エンティティ「BV_Engine」へ 参照:はるかに

<li><a href="index.php?c=tutorials&amp;p=cat&amp;cid=1" >LINK</a></li> 
+0

はい、実際には同じことを同時に掲載しています。 – ludesign

0

はいでそれを置き換えるには、&アンプとしてあなたamparsandsをエスケープする必要があります。 &ではなく。

<li><a href="index.php?c=tutorials&amp;p=cat&amp;cid=1">LINK</a></li> 

が有効です。

0

XHTML(及び一般にXML)と互換性があるために、ampersandエスケープされなければなりません。これを行うには、SGML/XML entityを使用する必要があります。

  1. 名前付きエンティティ:&amp;(これはXML仕様で定義された5 predefined entitiesの一つである

    はアンパサンドを表すために使用することができる3つの異なる実体があります。)

  2. numeric character reference&#38;

  3. numeric character reference

    href="index.php?c=tutorials&amp;p=cat&amp;cid=1" 
    href="index.php?c=tutorials&#38;p=cat&#38;cid=1" 
    href="index.php?c=tutorials&#x26;p=cat&#x26;cid=1" 
    
    &#x26;

だから、あなたの例href属性の値は、これらの3つの方法のいずれかで表すことができます

コースE、このように上記の実体を混合することが有効だろう。

href="index.php?c=tutorials&amp;p=cat&#38;cid=1" 
          ^^^^^  ^^^^^ 

...しかし、ほとんどは、文書(さらにWebサイト全体)全体で一貫したアプローチを取るために主張するだろう。

アンパサンドを表すために使用できる3つのエンティティのうち、&amp;がXHTMLで最も一般的に使用されていると思います。

最後の注意:ただしbrowsers today do not require that the ampersand be escapedHTMLのオーサリング時には、上記のエンティティ一つはも使用する必要があります。

関連する問題