एक ऐप जिस पर मैं काम कर रहा हूं, उपयोगकर्ता ने सादे टेक्स्ट में सामग्री दर्ज की है जिसे बाद में HTML के रूप में प्रदर्शित किया जाएगा। के रूप में अच्छी तरह से संभव के रूप में उपयोगकर्ता की सामग्री प्रदर्शन बनाने के लिए हम इस प्रकार की सामग्री को बदलने: दो या अधिक नए लाइन वर्ण से सीमांकित पाठ केअनुच्छेद/बीआर एचटीएमएल टैग में नई लाइनों को परिवर्तित करना, क्या यह एक एकल रेगेक्स हो सकता है?
किसी भी ब्लॉक < पी > टैग में लिपटे रहे हैं। नए रेखा वर्ण (और बीच में किसी भी सफेद जगह) बाहर छीन लिया जाता है।
कोई भी एकल लाइन वर्ण (आसपास के व्हाइटस्पेस के साथ) को < br/> टैग द्वारा प्रतिस्थापित किया गया है।
मैं वर्तमान में दो regex प्रतिस्थापन के माध्यम से पाठ रख कर इसे प्राप्त करने रहा हूँ, लेकिन अगर यह संभवतः एक के लिए समेकित किया जा सकता है सोच रहा था। यहां मेरे पास अभी है (जावास्क्रिप्ट):
// content holds the text to process
content = '<p>' + content.replace(/\n([ \t]*\n)+/g, '</p><p>')
.replace(/\n/g, '<br />') + '</p>';
बस उत्सुक है, क्या आप किसी भी तरह के एचटीएमएल/जावास्क्रिप्ट संपादक का उपयोग कर रहे हैं जैसे कि TinyMCE या YUI? या सिर्फ एक फॉर्म/textarea तत्व? – Dave
बस एक सादा पुराना रूप टेक्स्ट क्षेत्र –
हैलो, क्या आप इसे हल करने में सक्षम थे? – Sisir