سام شادکام
2 سال پیش توسط سام شادکام مطرح شد
5 پاسخ

دریافت br کاربران از textarea

سلام و ودرود خدمت همه دوستان و عزیزان ، می خواستم بدونم چطور میشه اینتر هایی(break-line) که کاربران توی textarea به هنگام ثبت کامنت ها اعمال می کنن رو دریافت کنم ؟
الآن به صورت پیشفرض به این شکل هستش .
مثال:
این متن رو توی تکست اریا تایپ کردم الآن در خط اول هستم. الآن در خط دوم هستم.
همونطور که در مثال بالا هم می بینید ، همه رو به دنبال هم به بک اند ارسال میکنه و <br> ها رو انجام نمیده و نمیفرسته .


ثبت پرسش جدید
سام شادکام
تخصص : فیزیک
@intellect.circle 2 سال پیش آپدیت شد
0

بله خدارو شکر ،
من دقیقا به دلیل همون trim کردن فاصله انتهای هر خط از متنی که درون textarea تایپ میکردم حذف میشد و توی بازخوانی و publishing استایل سایت نمی تونست فاصله های break-line ها رو متوجه بشه .

با توجه به اینکه راکت از نظر seo رتبه خوبی داره ، در ادامه روند کاری رو که انجام دادم میگم شاید به درد کسی بخوره و گره ای از کار کسی باز بکنه ...

فرم ورودی :


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>form</title>
</head>
<body>
   <form action="/controller/">
       <textarea name="INPUT_NAME" ></textarea>
       <input type="submit" name="INPUT_NAME" value="send">
   </form> 
</body>
</html>

هر محتوایی که کاربر می خواد رو تایپ می کنه و ارسال میکنه ، بعد از اعمال ******** های لازم روی ورودی های کاربر توی controller و ثبت موفقیت آمیز محتوا توی پایگاه داده(DataBase) ، زمانیکه می خوایم محتوا رو با همین فاصله ها و اینتر ها (<br/>) بخونیم کافیه استایل زیر رو به ظرفی که میخوایم محتوا رو توی اون چاپ کنیم بدیم :


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>form</title>
</head>
<body>
    <p>
        <span style="white-space:pre-line;">
            ظرفی که قرار محتوای ما بعد از خوانده شدن از پایگاه داده در اینجا چاپ بشه
        </span>
    </p>
</body>
</html>

سام شادکام
تخصص : فیزیک
@intellect.circle 2 سال پیش مطرح شد
0

دقیقا میشه گفت مثل همین textarea که توی راکت هستش.
چطوری میشه که با زدن اینتر به خط بعدی میره و توی نمایش هم دقیقا همین <br> ها لحاظ میشه ؟؟


محمد امین محمدی
تخصص : توسعه دهنده بک اند
@amin.mohamadi13238 2 سال پیش مطرح شد
2

یک احتمالی که هست اینه که شما برای ذخیره در دیتابیس متن رو تریم میکنید!!!
اینجوری تگ هایی که توی متن هست از بین میره
کد بک اند و فرانت اند رو هم بزارید
@intellect.circle


سام شادکام
تخصص : فیزیک
@intellect.circle 2 سال پیش مطرح شد
0

بله دقیقا فرمایش شما درسته ، من چون متن رو تریم میکردم به هنگام بازخوانی متن و publish کردنش اون فاصله لازم برای رفتن به خط بعدی وجود نداشت


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
2

الان مشکلتون برطرف شد؟!
trim تا جایی که میدونم فقط فاصله ها رو از ابتدا و انتهای متن حذف می‌کرد و ارتباطی با فاصله های وسط متن نداشت... 🙄


سام شادکام
تخصص : فیزیک
@intellect.circle 2 سال پیش آپدیت شد
0

بله خدارو شکر ،
من دقیقا به دلیل همون trim کردن فاصله انتهای هر خط از متنی که درون textarea تایپ میکردم حذف میشد و توی بازخوانی و publishing استایل سایت نمی تونست فاصله های break-line ها رو متوجه بشه .

با توجه به اینکه راکت از نظر seo رتبه خوبی داره ، در ادامه روند کاری رو که انجام دادم میگم شاید به درد کسی بخوره و گره ای از کار کسی باز بکنه ...

فرم ورودی :


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>form</title>
</head>
<body>
   <form action="/controller/">
       <textarea name="INPUT_NAME" ></textarea>
       <input type="submit" name="INPUT_NAME" value="send">
   </form> 
</body>
</html>

هر محتوایی که کاربر می خواد رو تایپ می کنه و ارسال میکنه ، بعد از اعمال ******** های لازم روی ورودی های کاربر توی controller و ثبت موفقیت آمیز محتوا توی پایگاه داده(DataBase) ، زمانیکه می خوایم محتوا رو با همین فاصله ها و اینتر ها (<br/>) بخونیم کافیه استایل زیر رو به ظرفی که میخوایم محتوا رو توی اون چاپ کنیم بدیم :


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>form</title>
</head>
<body>
    <p>
        <span style="white-space:pre-line;">
            ظرفی که قرار محتوای ما بعد از خوانده شدن از پایگاه داده در اینجا چاپ بشه
        </span>
    </p>
</body>
</html>

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام