سؤال

لقد استخدمت دائما استبدال (myString، VBCRLF، "u003Cbr/> ") لإظهار فواصل الأسطر عند إخراج شيء ما من صفحة من قاعدة البيانات (استراحات خط الاحتفاظ). الآن باستخدام تفاصيل عرضة تحتوي على Textarea كأحد الحقول ويستخدم LinQDataSource كمستحضر بيانات لها. أريد أن أسمح للمستخدمين اكتب فواصل الأسطر في textarea وعرضها على صفحة (استبدالهاu003Cbr/> لإظهار فواصل في HTML). يبدو أن Linq يستبدل عن فواصل الأسطر مع شيء آخر يسبب الآن عبارة استبدال عدم العثور على فترات الراحة، وبالتالي لا يقوم بإدراج HTMLu003Cbr/> وبعد عند تحميل القيمة من قاعدة البيانات إلى Textarea، لا تزال وكسر الأسطر هناك. لقد حاولت استبدال ما يليu003Cbr> لكن لا أحد يعمل.

vbCrLf
vbNewLine 
Environment.NewLine 

... لا شيء من هذه العمل ... ماذا أحتاج أن أجد / استبدلu003Cbr> لإظهار فترات الراحة؟

هل كانت مفيدة؟

المحلول

يستخدم Textarea أحرف خطوط نيولينية مختلفة اعتمادا على المتصفح:

  • Internet Explorer: r n
  • فايرفوكس: ن

وقد اقترح أيضا أن ص يستخدم في بعض الحالات، على الرغم من أنني لم آت في هذه الحالات.

يتم ترميز إرجاع النقل كنسبة٪ 0D وخط الأعلاف كنسبة٪ 0A. لذلك إذا كان نصك مشفر HTML (كما يجب أن يكون)، فأنت بحاجة إلى استبدال٪ 0D و / أو٪ 0A [اعتمادا على بيئتك] معu003Cbr />

هنا هو مناقشة كاملة حول هذا الموضوع http://www.highdots.com/forums/html/standard-newline-character-264611.html..

نصائح أخرى

إلقاء نظرة على السلسلة كصفيف بايت، ما القيم هي فواصل الأسطر؟ لا يوجد سوى العديد من الخيارات هنا، 10، 13، كلاهما، لا شيء؟

هذا يعمل بشكل رائع بالنسبة لي:

string Output = HttpUtility.HtmlEncode(DirtyText); // HTML Encode it first for safety..
return Output.Replace("\n", "<br />");             // Now replace New Lines with HTML BRs

في نهاية المطاف مع إخراج مزود مزود، ولكن أيضا تباعد الأسطر المنسق تماما كما تم إدخاله من قبل المستخدم في Textarea القياسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top