मुझे पता है कि पुस्तकालयों सारे हैं, लेकिन यहाँ ब्राउज़र के लिए समाधान के एक जोड़े हैं। एचटीएमएल इकाई डेटा स्ट्रिंग्स को मानवीय संपादन योग्य क्षेत्रों में रखकर अच्छी तरह से काम करते हैं जहां आप अक्षर दिखाना चाहते हैं, जैसे टेक्स्टरेरा या इनपुट [टाइप = टेक्स्ट]।
मैं यह उत्तर जोड़ता हूं क्योंकि मुझे आईई के पुराने संस्करणों का समर्थन करना है और मुझे लगता है कि यह कुछ दिनों के शोध और परीक्षण के लिए तैयार है। मुझे आशा है कि किसी को यह उपयोगी लगेगा।
सबसे पहले यह jQuery का उपयोग करके अधिक आधुनिक ब्राउज़र के लिए है, कृपया ध्यान दें कि यदि आपको 10 (7, 8, या 9) से पहले IE के संस्करणों का समर्थन करना है, तो इसका उपयोग नहीं किया जाना चाहिए क्योंकि यह आपको छोड़ने वाली न्यूलाइन को बाहर कर देगा पाठ की सिर्फ एक लंबी लाइन।
if (!String.prototype.HTMLDecode) {
String.prototype.HTMLDecode = function() {
var str = this.toString(),
$decoderEl = $('<textarea />');
str = $decoderEl.html(str)
.text()
.replace(/<br((\/)|(\/))?>/gi, "\r\n");
$decoderEl.remove();
return str;
};
}
यह अगले एक कुछ मतभेद जो ज्यादातर पुराने आईई संस्करण के लिए कर रहे हैं के साथ ऊपर Kennebec के काम पर आधारित है,। इसे jQuery की आवश्यकता नहीं है, लेकिन अभी भी एक ब्राउज़र की आवश्यकता है।
if (!String.prototype.HTMLDecode) {
String.prototype.HTMLDecode = function() {
var str = this.toString(),
//Create an element for decoding
decoderEl = document.createElement('p');
//Bail if empty, otherwise IE7 will return undefined when
//OR-ing the 2 empty strings from innerText and textContent
if (str.length == 0) {
return str;
}
//convert newlines to <br's> to save them
str = str.replace(/((\r\n)|(\r)|(\n))/gi, " <br/>");
decoderEl.innerHTML = str;
/*
We use innerText first as IE strips newlines out with textContent.
There is said to be a performance hit for this, but sometimes
correctness of data (keeping newlines) must take precedence.
*/
str = decoderEl.innerText || decoderEl.textContent;
//clean up the decoding element
decoderEl = null;
//replace back in the newlines
return str.replace(/<br((\/)|(\/))?>/gi, "\r\n");
};
}
/*
Usage:
var str = ">";
return str.HTMLDecode();
returned value:
(String) >
*/
यदि आपको इसकी आवश्यकता है, तो एक निश्चित संभावना है कि आप गलत तरीके से समस्या का सामना कर रहे हैं। – AndreKR
ऐसा करने के पीछे तर्क क्या है? – nuaavee
यह एक ऐसे मामले में जरूरी है जहां आपके पास डेटा है जिसे प्रदर्शित करने के लिए HTML अनुकूल होना आवश्यक है लेकिन किसी उपयोगकर्ता द्वारा डाउनलोड की गई फ़ाइल फ़ाइल में सहेजा जा सकता है। उस स्थिति में, यह वास्तव में जरूरी है क्योंकि उपयोगकर्ता आमतौर पर यह भी नहीं जानते कि यह एक चरित्र इकाई है, कभी भी यह ध्यान न रखें कि यह कौन सा है। – ArtlyticalMedia