Ails n এ রূপান্তর করার জন্য কি কোনও রেলসি উপায় আছে <br>
?
বর্তমানে, আমি এটি এইভাবে করছি:
mystring.gsub(/\n/, '<br>')
Ails n এ রূপান্তর করার জন্য কি কোনও রেলসি উপায় আছে <br>
?
বর্তমানে, আমি এটি এইভাবে করছি:
mystring.gsub(/\n/, '<br>')
উত্তর:
হ্যাঁ, রেলগুলি এমনটি রয়েছে simple_format
যা আপনি যা সন্ধান করছেন ঠিক তা করে এবং কিছুটা আরও ভাল যেহেতু এটি অনুচ্ছেদে ট্যাগও যুক্ত করে। দেখা
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
উদাহরণ:
simple_format(mystring)
নোট যেটি simple_format
মৌলিক এইচটিএমএল ট্যাগকে মঞ্জুরি দেয় তবে এমন পাঠ্যও পাস করে sanitize
যার মাধ্যমে সমস্ত স্ক্রিপ্ট সরিয়ে ফেলা হয়, সুতরাং এটি ব্যবহারকারীর ইনপুট জন্য নিরাপদ হওয়া উচিত।
simple_format
প্রদত্ত পাঠ্যটি স্বয়ংক্রিয়ভাবে <p>
ট্যাগগুলিতে মোড়ানো হয় এবং এই কার্যকারিতাটি এড়ানো যায় না।
javascript:alert(\no!\)
রেফারেন্সের মতো বিশেষ সিনট্যাক্সের ব্যাখ্যার উপর নির্ভর করে । দূষিত হ্যাকারগুলির সাথে কাজ করার জন্য অফুরান বৈচিত্র এবং ভবিষ্যতের বিভিন্নতা থাকতে পারে।
wrapper_tag
বিকল্প রয়েছে যা <p>
অন্য কোনও কিছুর জন্য ট্যাগ পরিবর্তন করতে পারে
আপনি এটিকে আরও সাধারণ করে তুলতে পারেন:
mystring.gsub(/(?:\n\r?|\r\n?)/, '<br>')
এইভাবে আপনি ডস, * এনআইএক্স, ম্যাক এবং দুর্ঘটনাজনিত অবৈধ লাইন সমাপ্ত হবে।
simple_format
সেই রেজেেক্সে বিভক্ত হয়ে যেতে পারেন, ট্যাগগুলি map
খোলার এবং বন্ধ করার ক্ষেত্রে স্ট্রিং মোড়কে ব্যবহার করুন p
এবং তারপরে এগুলিতে যোগদান করুন। mystring.split(/(?:\n\r?|\r\n?)/).map {|s| "<p>#{s}</p>"}.join
এটি করা উচিত, যদিও আমি এটি পরীক্ষা করেছিলাম না।
<%= sanitize(planning.benefits.split(/(?:\n\r?|\r\n?)/).map {|x| "<li class='collection-item'>#{x}</li>"}.join) %>
। এবং এটি একটি কবজ বুহুর মতো কাজ করে!
mystring
নির্বিচারে এইচটিএমএল থাকতে পারে।
আপনি যখন ব্যবহারকারী ইনপুট নিয়ে কাজ করছেন তখন আপনার এটিকে যত্নবান হওয়া উচিত। ট্যাগ
simple_format
সন্নিবেশ করায় <br>
তবে এটি অন্যান্য এইচটিএমএল ট্যাগকে মঞ্জুরি দেয় !
সরল_ফর্ম্যাট ব্যবহার করার সময়, <b>Hello</b>
" হ্যালো " হিসাবে রেন্ডার করা হবে , আপনি এটি নাও চাইবেন।
পরিবর্তে আপনি <%= h(c.text).gsub("\n", "<br>").html_safe %>
h()
প্রথমে এইচটিএমএলকে এনকোড করতে পারবেন , gsub
লাইন ব্রেকটি প্রতিস্থাপন করবে এবং ট্যাগগুলি প্রদর্শন করার html_safe
অনুমতি দেবে <br>
।
এটি ব্যবহারকারী কী প্রবেশ করিয়েছে ঠিক তা প্রদর্শন করবে। এটি উদাহরণস্বরূপ মন্তব্যে এইচটিএমএলকে আলোচনা করার অনুমতি দেয়।
simple_format
বেসিক এইচটিএমএল ট্যাগগুলিকে মঞ্জুরি দেওয়ার সময় এটি নোট করা গুরুত্বপূর্ণ যে এটি পাঠ্যটিও পাস করে sanitize
যা সম্ভাব্যভাবে দূষিত হতে পারে এমন কোনও কিছু সরিয়ে দেয়। apidock.com/rails/ActionView/Helpers/TextHelper/simple_format
সহজভাবে ব্যবহার
white-space: pre-line;
আপনার সিএসএস এবং পাঠ্য লাইন বিরতি মোড়ানো হবে।
আপনি যা করতে চাইছেন তা আপনিও বিবেচনা করতে পারেন - আপনি যদি লোকেরা প্রবেশ করানো পাঠ্যের সুন্দরভাবে ফর্ম্যাট করে থাকেন তবে আপনি মার্কডাউনের মতো একটি ফিল্টার বিবেচনা করতে পারেন যাতে আপনার ব্যবহারকারীরা এইচটিএমএল জাতীয় কৃমি ছাড়াই তাদের পাঠ্য বিন্যাস করতে দেয়। আপনি জানেন, এটি স্ট্যাক ওভারফ্লোতে এখানে রয়েছে।
নাঃ। আপনার যা আছে তা সাধারণত ব্যবহৃত বিকল্প। বেশিরভাগ লোকেরা যে সংজ্ঞাটি ব্যবহার করেন তা হ'ল:
def nl2br text
text.gsub(/\n/, '<br/>')
end
এটি একই নামে পিএইচপি ফাংশনটির কার্যকারিতা নকল করে কারণ এটি এর নামকরণ হয়েছে ।
mystring.gsub(/\r\n|\r|\n/, '\n')
আমার জন্য কাজ