2009-07-22 18 views
9

एचटीएमएल में img tag's alt attribute के अंदर पाठ को एन्कोडिंग/एस्केपिंग की आवश्यकता है?क्या आईएमजी टैग की alt विशेषता को एन्कोडिंग की आवश्यकता होती है?

गैर इनकोडिंग उदाहरण:

<img src="myimg.png" alt="image description" /> 

एन्कोडेड उदाहरण:

<img src="myimg.png" alt="image%20description" /> 

उत्तर

17

नहीं, इसे यूआरआई की तरह एन्कोड करने की आवश्यकता नहीं है। हालांकि, एचटीएमएल वर्ण इस तरह इनकोडिंग किया जाना चाहिए ...

<img src="myimg.png" alt="Me &amp; my image" /> 
+0

"चाहिए" को "चाहिए" के साथ बदलें - कम से कम यदि आप एक वैधकर्ता – kdgregory

+4

पास करना चाहते हैं तो यदि आप वा वहाँ उद्धरण डालने से बाहर पकड़ा जा सकता है। –

+0

यदि आप मौत की पीली स्क्रीन नहीं चाहते हैं (मान लीजिए कि आप अपने एक्सएचटीएमएल को एप्लिकेशन/एक्सएचटीएमएल + एक्सएमएल के रूप में सेवा दे रहे हैं, तो ध्यान दें कि एक्सएचटीएमएल लिखना सिर्फ और अधिक परेशानी है तो यह उचित है) – Quentin

2

नहीं ऐसा नहीं है। एन्कोडिंग http://en.wikipedia.org/wiki/Dream%20Theater में यूआरएल के लिए है, जो alt स्ट्रिंग नहीं है।

हालांकि, entity-encoding उपयोग करने के लिए >&gt; के रूप में, और "&quot; के रूप में से बचने के लिए आप की आवश्यकता होगी। ध्यान दें कि यह URI encoding से अलग है जहां विशेष वर्ण प्रतिशत चिह्न और दो हेक्स अंकों के रूप में एन्कोड किए जाते हैं।

5

वे URL एन्कोडिंग की आवश्यकता नहीं है, लेकिन किसी की आवश्यकता होती है, के रूप में सभी एक्सएचटीएमएल विशेषताओं करते हैं, एक्सएचटीएमएल इकाई एन्कोडिंग।

गलत:

<img src="foo.gif" alt="Ben & Jerry's" /> 

सही:

<img src="foo.gif" alt="Ben &amp; Jerry's" /> 

तुम भी मूल्यों के बीच डबल-उद्धरण एन्कोड करने के लिए, भले ही आपको बस इतना करना है कि सामान्य पाठ में नहीं है की आवश्यकता होगी।

संदर्भ:।

0

आप HTML एन्कोडिंग का उपयोग करना चाहिए (यानी "" हो जाता है), नहीं URL एन्कोडिंग आप ASP.NET का उपयोग कर रहे हैं, तो आप इस Server.HtmlEncode साथ प्राप्त कर सकते हैं या बेहतर AntiXSS Library on CodePlex में HtmlAttributeEncode विधि का उपयोग करें।

संबंधित मुद्दे