মাইএসকিউএল-এ লেখার সময় পাঠ্যআরিয়া থেকে লাইন বিরতি সংরক্ষণ করুন


105

ব্যবহারকারীদের মন্তব্য ইনপুট করতে সক্ষম করতে আমি একটি টেক্সারি ব্যবহার করছি। তবে, ব্যবহারকারীরা নতুন লাইনে প্রবেশ করলে, নতুন লাইনগুলি আউটপুট করার সময় উপস্থিত হয় না। লাইন বিরতি স্থগিত করার কোনও উপায় আছে কি?

কোন ধারণা কীভাবে লাইন ব্রেকগুলি সংরক্ষণ করে?


আমি কেবল htmlawed অক্ষম করেছি, এবং মনে হচ্ছে এটির লাইন ব্রেকগুলির সাথে কোনও সম্পর্ক নেই, লাইন ব্রেকগুলি এখনও দেখায় না। সুতরাং আমি কেবল টেক্সারিয়া ডেটা সরাসরি মাইএসকিএল-তে লিখছি এবং যখন আমি মাইএসকিএল ডাটাবেস থেকে ডেটা ইকো করি তখন তা প্রদর্শিত হয় না।
হিরવેશ

আমি phpmyadmin ব্যবহার করে mysql টেবিলটিও ব্রাউজ করেছি এবং মন্তব্য ক্ষেত্রটি দেখেছি seen কোনও <br/> ট্যাগগুলি সংরক্ষণ করা হচ্ছে না,
হিরવેશ

আমি একটি ফেসবুক স্টাইল মন্তব্য সিস্টেম করছি, তাই আমি সত্যই চাই না যে এটি উইসইউইগ হোক। কোনও ধারণা নেই কেন লাইন ব্রেকগুলি তখন সংরক্ষণ করে না?
হিরવેશ

উত্তর:


158

এর জন্য দুটি সমাধান:

  1. পিএইচপি ফাংশন nl2br():

    যেমন,

    echo nl2br("This\r\nis\n\ra\nstring\r");
    
    // will output
    This<br />
    is<br />
    a<br />
    string<br />
  2. <pre></pre>ট্যাগগুলিতে ইনপুট মোড়ানো ।

    দেখুন: ডাব্লু 3 সি উইকি - এইচটিএমএল / উপাদানসমূহ / প্রাক


2
+1, পিএইচপি এর জন্য nl2br()
স্রেফ

1
আমি মনে করি, <x> <<<<<<<<< পছন্দ এবং স্টাইলিং আরও অনেক বেশি ভাল এক্সএসএস এর জন্য।
EGurelli

38

এখানে আমি ব্যবহার করি

$textToStore = nl2br(htmlentities($inputText, ENT_QUOTES, 'UTF-8'));

$inputTextফর্ম বা টেক্সেরিয়া দ্বারা সরবরাহিত পাঠ্য। $textToStoreথেকে প্রত্যাগত লেখা nl2brএবং htmlentities, আপনার ডাটাবেসের মধ্যে সংরক্ষিত করতে হবে। ENT_QUOTESডাবল এবং একক উভয় উক্তি রূপান্তর করবে, যাতে আপনার সাথে কোনও সমস্যা হবে না।


2
আমি বিশ্বাস করি ইউটিএফ -8 এখন পিএইচপি-তে ডিফল্ট। তবে অবশ্যই এটি সুস্পষ্ট হতে আঘাত করে না।
ProfileTwist

পাঠ্যগুলির মধ্যে কীভাবে সম্ভবত সাদা স্পেস ?োকানো যায়?
জেডব্লিউসি

আপনার ডাটাবেসে সর্বদা ডেটা কাঁচা রাখা উচিত। তারপরে আপনি এটি প্রদর্শিত হওয়ার আগে ডেটা রূপান্তর এবং স্যানিটাইজ করুন।
এডওয়ার্ড

3

আমার নিজের উত্তরটি পেয়েছেন: টেক্সারিয়া থেকে প্রাপ্ত ডেটা থেকে এই ফাংশনটি ব্যবহার করা সমস্যার সমাধান করে:

function mynl2br($text) { 
   return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />')); 
} 

আরও এখানে: http://php.net/nl2br


2

আমি একই পাঠ্য সংরক্ষণের জন্য এই দুটি পদ্ধতির পদক্ষেপগুলি ব্যবহার করছি যা মাইএসকিএলে সংরক্ষণ করার জন্য টেক্সেরিয়ায় রয়েছে এবং একটি সময় আমি কেবল সরল পাঠ্যও প্রদর্শন করতে পারি .....

ধাপ 1:

$status=$_POST['status'];<br/>
$textToStore = nl2br(htmlentities($status, ENT_QUOTES, 'UTF-8'));

অনুসন্ধানে প্রবেশ করুন $textToStore....

ধাপ ২:

নির্বাচন করা প্রশ্নের জন্য কোড লিখুন ... এবং প্রত্যক্ষ প্রতিধ্বনি মান ....

এটা কাজ করে


আপনার ডাটাবেসে সর্বদা ডেটা কাঁচা রাখা উচিত। তারপরে আপনি এটি প্রদর্শিত হওয়ার আগে ডেটা রূপান্তর এবং স্যানিটাইজ করুন।
এডওয়ার্ড


0
function breakit($t) {
    return nl2br(htmlentities($t, ENT_QUOTES, 'UTF-8'));
}

এটি আপনাকে সাহায্য করতে পারে

টেক্সারিয়া ওয়াল পাস


-8

যখন খুব সহজ কাজ করা যায় তখন মেক মানুষ কেন খুব বেশি কঠিন হন :)

//here is the pull from the form
$your_form_text = $_POST['your_form_text'];


//line 1 fixes the line breaks - line 2 the slashes
$your_form_text = nl2br($your_form_text);
$your_form_text = stripslashes($your_form_text);

//email away
$message = "Comments: $your_form_text";
mail("destination_email@whatever.com", "Website Form Submission", $message, $headers);

আপনার অবশ্যই স্পষ্টতই শিরোনাম প্রয়োজন এবং আরও ক্ষেত্র থাকতে পারে তবে এটি আপনার টেক্সেরিয়া যত্ন নিন


6
এটি অনিরাপদ এবং প্রশ্নের সাথে বেশ প্রাসঙ্গিক নয়।
ইভান ডারউইন

1
এটি চেষ্টা করুন .... ইমেল বা এসকিউএল পোস্ট করুন .... আলুর আলু ..... লাইনগুলি চালানোর চেষ্টা করুন এবং সমস্যাটি ঠিক করুন .... একগুচ্ছ ব্যতিরেকে যদি অগোছালো কোডের লাইনগুলি কখনও কখনও কাজ করে বা না করে .... :)
ডানকান

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