जब दृश्य इंजन का उपयोग कर रहा String.fromCharCode(13, 10)
उपयोगी पाया है। https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
यह वास्तविक न्यूलाइन अक्षरों के साथ एक स्ट्रिंग बनाता है और इसलिए दृश्य इंजन को बच निकलने वाले संस्करण की बजाय एक नई लाइन आउटपुट करने के लिए मजबूर करता है। उदाहरण के लिए: -:
viewHelper.js
exports.replaceNewline = function(input) {
var newline = String.fromCharCode(13, 10);
return input.replaceAll('\\n', newline);
}
EJS
<textarea><%- viewHelper.replaceNewline("Blah\nblah\nblah") %></textarea>
रेंडर
<textarea>Blah
blah
blah</textarea>
NodeJS EJS दृश्य इंजन का प्रयोग यह एक सरल उदाहरण है, जिसमें किसी भी \ N प्रतिस्थापित किया जाना चाहिए है
प्रतिस्थापित करें:
String.prototype.replaceAll = function (find, replace) {
var result = this;
do {
var split = result.split(find);
result = split.join(replace);
} while (split.length > 1);
return result;
};
स्रोत
2015-01-23 09:07:05
मुझे नहीं पता कि 'टेक्स्ट की तरह इसे प्रदर्शित करने' के बजाए पार्सिंग न्यूलाइन क्या है, लेकिन इसका मतलब 'इंजेक्ट करने का कोई अर्थ नहीं है। विंडोज क्रोम इसे वैसे भी हटा देता है। जब आप 'textarea.value' को विभाजित करते हैं, तो आप इसे \ n' वर्ण से करते हैं और स्रोत के संबंध में टेक्स्टरेरा मान में कोई भी \ r' नहीं है। –
@LittleAlien https://jsfiddle.net/v0y3xvpx/1/ - ओपी प्रश्न के आधार पर उत्तर, स्पष्ट रूप से समस्या हल हो गई – Bakudan
जाहिर है, आपने ओपी प्रश्न को याद किया है। आपने शायद किसी अन्य प्रश्न का उत्तर दिया है। यह सवाल कैरिज रिटर्न के बारे में नहीं पूछता है। यह नई लाइन के बारे में पूछता है। इस सवाल के लिए कैरिज रिटर्न अनावश्यक है। यह हमेशा अनावश्यक है क्योंकि ब्राउज़र द्वारा इसे हटा दिया जाता है भले ही आप इसे स्रोत कोड में निर्दिष्ट करते हैं। –