2010-04-06 92 views
4

林與中有一個連字符的電子郵件地址工作, 用戶想要一個「聯繫我們」鏈接打開了一個新的消息,機智他們的地址居住, 我通常使用的href,但&符號導致這不起作用, 任何想法的?符號的電子郵件地址(HREF)

這裏就是我目前所面對的:

<a href="mailto:L&[email protected]? subject=MessageTitle&amp;" 
     style="font-family: Verdana; font-size: large; font-weight: bold; color: #800000">#GHA Organisation Development</a> 

回答

8

使用&amp;而非純&。您的href網址位於HTML內部,因此需要將其正確轉義爲有效的HTML。

+3

+風格外部樣式表,而不是使用在線聲明 – dusoft 2010-04-06 10:49:22

+0

你的CSS是直接交換的話,&爲&? – DarkW1nter 2010-04-06 10:56:49

+0

@d達利:是的,永遠。 – 2010-04-06 11:01:11

3

其實,這是不曖昧符號,所以它是完全有效的使用您建議的HTML。目前接受的答案是不正確的(儘管我同意總是編碼&符號以避免混淆是一個好主意)。

的HTML規範定義不明確的和號如下:

的曖昧符號是一個U + 0026 AMPERSAND字符(&),其隨後在範圍內的一個或多個字符U + 0030數字零(0 )至U + 0039數字九(9),U + 0061拉丁文小寫字母A至U + 007A拉丁文小寫字母Z,以及U + 0041拉丁大寫字母A至U + 005A拉丁大寫字母Z,然後是U + 003B SEMICOLON字符(;),其中這些字符與命名字符引用部分中給出的任何名稱都不匹配。

實體中不分號結束(如&amp)被不同屬性值的處理,雖然:

如果字符引用被消耗作爲屬性的一部分,並且最後字符匹配不是U + 003B SEMICOLON字符(;),並且下一個字符是U + 003D EQUALS SIGN字符(=)或在U + 0030 DIGIT ZERO(0)到U + 0039 DIGIT NINE(9) ),U + 0041拉丁大寫字母A到U + 005A拉丁大寫字母Z或U + 0061拉丁小寫字母A到U + 007A拉丁小寫字母Z然後,由於歷史原因,所有在U +0026安培字符(&)必須是未消耗的,並且不返回任何內容。

但是這裏不適用,因爲下一個字符是@

FWIW,我看一遍研究這一點,並在這裏寫關於我的發現:http://mathiasbynens.be/notes/ambiguous-ampersands

我還創建了an online tool,你可以用它來檢查您的標記爲不結束模糊的&符號或者字符引用分號,這兩個都是無效的。 (無HTML驗證目前這是否正確。)

http://i.stack.imgur.com/nyGPK.png

相關問題