পাঠ্য অঞ্চলে নতুন লাইন


281
<textarea cols='60' rows='8'>This is my statement one.\n This is my statement2</textarea>

<textarea cols='60' rows='8'>This is my statement one.<br/> This is my statement2</textarea>

আমি উভয়ের চেষ্টা করেছি কিন্তু এইচটিএমএল ফাইলটি রেন্ডার করার সময় নতুন লাইন প্রতিফলিত হচ্ছে না। আমি এটা কিভাবে করবো?

উত্তর:


524

আর একবার চেষ্টা কর:

    <textarea cols='60' rows='8'>This is my statement one.&#13;&#10;This is my statement2</textarea>

&#10;লাইন ফিড এবং &#13;ক্যারিজ রিটার্ন হ'ল এইচটিএমএল সত্তার উইকিপিডিয়া । আপনি এইভাবে পাঠ্য হিসাবে প্রদর্শন করার পরিবর্তে নতুন লাইনের ("\ n") পার্স করছেন।


2
@ লিটলআলিয়েন jsfiddle.net/v0y3xvpx/1 - ওপি প্রশ্নের উপর ভিত্তি করে উত্তর, সম্ভবত সমস্যার সমাধান হয়েছে
বাকুদন

2
&#10;পার্স করার পক্ষে \nকি যথেষ্ট নয় ?
ডগ

লাইন-ফিড এবং ক্যারেজ-রিটার্ন অক্ষর উভয়ই প্রয়োজন, এমনকি ঠিক পার্স করা হয়েছে কিনা তা কি উইন্ডোজ বনাম ম্যাকোসের উপর নির্ভর করে না?
SeizeTheDay

1
@ সাইজ দ্যডে হ্যাঁ, তবে এটি ম্যাকওএস নয় - এটি লিনাক্স / বিএসডি বনাম উইন্ডোজ
বাকুদান

@ বকুদন ওহ! আমি ভেবেছিলাম ম্যাকোস, ইউনিক্স ভিত্তিক হয়ে এখনও এই সমস্যাটি থাকবে। তবে আপনি অবশ্যই নিশ্চিত, পার্থক্যটি আরও সাধারণ।
SeizeTheDay

28
<textarea cols='60' rows='8'>This is my statement one.

This is my statement2</textarea>

ফিডাল দেখায় যে এটি কাজ করে: http://jsfiddle.net/trott/5vu28/

যদি আপনি সত্যিই এটি উত্স ফাইলে কোনও এক লাইনে থাকতে চান তবে আপনি @ বকুদানের উত্তরে প্রদর্শিত লাইন ফিড এবং ক্যারিজ রিটার্নের জন্য এইচটিএমএল অক্ষর রেফারেন্স সন্নিবেশ করতে পারেন:

  <textarea cols='60' rows='8'>This is my statement one.&#13;&#10;This is my statement2</textarea>


27

String.fromCharCode(13, 10)ভিউ ইঞ্জিনগুলি ব্যবহার করার সময় আমি সহায়ক পেয়েছি । https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode

এটি এতে প্রকৃত নিউলাইন অক্ষরের সাথে একটি স্ট্রিং তৈরি করে এবং তাই ভিউ ইঞ্জিনটিকে একটি পালানো সংস্করণের পরিবর্তে একটি নতুন লাইন আউটপুট করতে বাধ্য করে। উদাহরণস্বরূপ: নোডজেএস ইজেএস ভিউ ইঞ্জিন ব্যবহার করা - এটি একটি সহজ উদাহরণ যেখানে কোনও \ n প্রতিস্থাপন করা উচিত:

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>

সমস্ত প্রতিস্থাপন:

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;
};

1
নতুন লাইন = স্ট্রিং.ফ্রোমচোড়োড (13, 10); রানটাইনের সময় প্রোগ্রামটিমেটিকভাবে নতুন লাইন যুক্ত করতে আমার পক্ষে কাজ করা একমাত্র কাজ। এটি +1।
রোনেন রবিনোভিচি

3
আমি সমস্ত প্রতিস্থাপনের জন্য সম্ভবত একটি সহজ উপায় প্রস্তাব করতে চাই: var regExp = নতুন RegExp (সন্ধান করুন, "জিআই"); Str = str.replace (RegExp, প্রতিস্থাপন);
রোনেন রবিনোভিচি

2
আমি করেছি s = s.replace(/\\n/g, String.fromCharCode(13, 10) )। এটি যদিও যাদু। ধন্যবাদ.
গ্লিসারিন

22

আমি মনে করি আপনি বিভিন্ন ভাষার সিনট্যাক্স গুলিয়ে ফেলছেন।

  • &#10;এইচটিএমএল স্ট্রিংয়ের লাইনফিড অক্ষর আক্ষরিক (ASCII 10 এর এইচটিএমএল এনকোডেড মান বা) is তবে লাইন ফিড অক্ষরটি এইচটিএমএলে লাইন ব্রেক হিসাবে রেন্ডার করে না (নীচে নোট দেখুন)।

  • \nএকটি জাভাস্ক্রিপ্ট স্ট্রিংয়ে লাইনফিড অক্ষর আক্ষরিক (ASCII 10) ।

  • <br/>এইচটিএমএল একটি লাইন বিরতি। অন্যান্য অনেক উপাদান যেমন <p>, <div>ইত্যাদি ইত্যাদি কিছু স্টাইল দিয়ে ওভাররাইড না করা হলে লাইন বিরতি রেন্ডার করে।

আশা করি নিম্নলিখিত চিত্রটি আরও পরিষ্কার করে দেবে:

T.innerText = "Position of LF: " + t.value.indexOf("\n");

p1.innerHTML = t.value;
p2.innerHTML = t.value.replace("\n", "<br/>");
p3.innerText = t.value.replace("\n", "<br/>");
<textarea id="t">Line 1&#10;Line 2</textarea>

<p id='T'></p>
<p id='p1'></p>
<p id='p2'></p>
<p id='p3'></p>

এইচটিএমএল সম্পর্কে কয়েকটি বিষয় উল্লেখ করতে হবে:

  • innerHTMLমান TEXTAREAউপাদান এইচটিএমএল রেন্ডার করে না। নিম্নলিখিত চেষ্টা করুন: <textarea>A <a href='x'>link</a>.</textarea>দেখুন।
  • Pউপাদান এক স্থান হিসাবে সব সংলগ্ন সাদা স্থান (নতুন লাইন সহ) রেন্ডার করে।
  • এলএফ অক্ষরটি এইচটিএমএলে কোনও নতুন লাইন বা লাইন বিরতিতে রেন্ডার করে না।
  • TEXTAREAপাঠ্য এলাকার বক্সের ভিতরে একটি নতুন লাইন হিসেবে এলএফ রেন্ডার করে।

1
এটির মুখোমুখি এই পোস্টটি জটিল বলে মনে হচ্ছে তবে বাস্তবে প্রচুর দরকারী তথ্য রয়েছে। আপনি যদি ক্রমাগত আপনার লাইনে যুক্ত করে থাকেন <textarea/>তবে এটি আপনার প্রয়োজনীয় পোস্টটি!
মরভেল

<br/>আমি যা খুঁজছিলাম
জনি পাঁচ

14

সিএসএস ব্যবহার করে টেক্সটরিয়ায় কীওয়ার্ড লাইন প্রবেশ করুন:

white-space: pre-wrap;

1
এটি আরও বেশি হওয়া উচিত
রডনি

প্রয়োজনীয় ফলাফল অর্জন করা এটি সহজতম পদ্ধতি, ধন্যবাদ @ সুরজ
মোয়াজ আতিক

এটি উত্তর
এভিডি

7

এটি চেষ্টা করুন .. এটি কাজ করে:

<textarea id="test" cols='60' rows='8'>This is my statement one.&#10;This is my statement2</textarea>


ট্যাগগুলির জন্য প্রতিস্থাপন :

$("textarea#test").val(replace($("textarea#test").val(), "<br>", "&#10;")));

3
এটি আসলে $ ("টেক্সারিয়া # পরীক্ষা") "ভাল () replace (এটি নতুন লাইনের সমস্ত উপস্থিতি প্রতিস্থাপন করবে)
ক্লাদিউ

7

পাঠ্য-অঞ্চলের অভ্যন্তরে একটি নতুন লাইন পেতে, সেখানে একটি আসল লাইন বিরতি দিন:

    <textarea cols='60' rows='8'>This is my statement one.
    This is my statement2</textarea>


5

এর \nপরিবর্তে আপনি ব্যবহার করতে পারেন /n


5
আচ্ছা, একটি আক্ষরিক \nহয় না কাজ করে, এটি একটি আসল নিউলাইন হতে হবে ।
গ্রেগ হিউগিল

হ্যা অবশ্যই. তবে আমি (ভুলভাবে?) ধরে নিচ্ছি যে তিনি ইতিমধ্যে এটি জানেন।
জার

2

প্রচুর পরীক্ষার পরে, নিম্নলিখিত কোডগুলি টাইপস্ক্রিপ্টে আমার জন্য কাজ করে

 export function ReplaceNewline(input: string) {
    var newline = String.fromCharCode(13, 10);
    return ReplaceAll(input, "<br>", newline.toString());
}
export function ReplaceAll(str, find, replace) {
    return str.replace(new RegExp(find, 'g'), replace);
}

0

.replace()অন্যান্য উত্তরে বর্ণিত নিদর্শনগুলি ব্যবহার করে আমার ফাংশনটি কার্যকর হয়নি। আমার মামলার জন্য যে প্যাটার্নটি কাজ করেছিল তা হ'ল:

var str = "Test\n\n\Test\n\Test";
str.replace(/\r\n|\r|\n/g,'&#13;&#10;');

// str: "Test&#13;&#10;&#13;&#10;Test&#13;&#10;Test"

0

T.innerText = "এলএফের অবস্থান:" + t.value.indexOf ("\ n");

p3.innerText = t.value.replace("\n", "");

<textarea id="t">Line 1&#10;Line 2</textarea>

<p id='p3'></p>

যদিও এই কোডটি প্রশ্নের উত্তর দিতে পারে, কেন এবং / অথবা এই কোডটির প্রশ্নের উত্তর কীভাবে তার দীর্ঘমেয়াদী মানকে উন্নত করে তা সম্পর্কিত অতিরিক্ত প্রসঙ্গ সরবরাহ করে।
অ্যালেক্স রিয়াবভ

-5

শুধু <br>
প্রাক্তন ব্যবহার করুন :

<textarea>
blablablabla <br> kakakakakak <br> fafafafafaf 
</textarea>

ফলাফল:
blablablabla
kakakakakak
fafafafafaf

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.