PDA

View Full Version : سر خط!!



m_ziba
یک شنبه 08 شهریور 1383, 14:10 عصر
سلام !
ببخشید مشکل من اینه:

یه متن از textarea ، اطلاعات رو وارد DB می کنه.

حالا من به هیچی کاری ندارم.(فونت و رنگ و ...) فقط می خوام وقتی تو این متن Enter می خوره، اینو درست وارد DB کنه.
یعنی حالیش بشه بره سر خط بعد، پشت سر هم نچینه.

بدون اینکه به فرمت html تبدیل کنه، هیچ راه حل دیگه ای هست؟؟؟؟؟؟؟

AminSobati
یک شنبه 08 شهریور 1383, 17:10 عصر
دوست عزیزم،
زمانی که اطلاعات رو از یک Textbox که Multi Line هستش به داخل فیلدی مثلا از جنس VarChar میبرید، تمام کاراکترهایی که باعث شکستن سطر(Enterها) میشن نیز انتقال پیدا میکنند و در حالت بلعکس وقتی اطلاعات از جدول به Textbox آورده میشن، همون فرمت حفظ میشه. لطفا در مورد نحوه ذخیره اطلاعات در جدول (روشی که استفاده میکنید) کمی توضیح بدین، شاید به این وسیله، اشکال کار پیدا بشه.
موفق باشید

Vahid_Nasiri
دوشنبه 09 شهریور 1383, 14:12 عصر
بدون اینکه به فرمت html تبدیل کنه...

به نظر شما می خواهید اطلاعات ذخیره شده در دیتابیس رو به صورت صفحات پویای وب نمایش بدید و دراینجا همه چیز پشت سر هم است. مطلب پست قبلی کاملا درست است. فقط کاری که شما باید انجام بدید این است که این حروف را به معادل های html خود تبدیل کنید. در تمام زبان های برنامه نویسی سمت سرور وضع به همین صورت است. برای مثال این enter ایی که شما ازش صحبت می کنید در هنگام نمایش به صورت html‌ باید به صورت <br> ترجمه و نمایش داده بشه. راه دیگری هم ندارد.

برای مثال در ASP.NET در یکی از پروژه ها من به این صورت عمل کردم :
sb همان متنی است که از دیتابیس به صورت خام خوانده شده :


//Create a StringReader from the processed string of
//the StringBuilder
StringReader sr = new StringReader(sb.ToString());
StringWriter sw = new StringWriter();
//Loop while next character exists
while(sr.Peek()>-1)
{
string temp = sr.ReadLine();

//write the string with the HTML break tag
sw.Write(temp+"<br>") ;
}

//Return the final processed text
return sw.GetStringBuilder().ToString();

خروجی یک خروجی فرمت شده است بر اساس html .

و یا در php در به صورت زیر می توان عمل کرد:


$strInput = str_replace("\n", '<br>', $strInput);

موفق باشید

m_ziba
سه شنبه 10 شهریور 1383, 09:36 صبح
سلام دوستان خوبم!
از لطف و راهنمایی شما بی نهایت سپاسگزارم. :)

من از زبان ASP استفاده می کنم، اون قطعه کد شما به زبان ASP .net هستش.
اگه می شه لطف کنید به زبان ASP هم یه توضیحاتی بدین، خیلی ممنون می شم.

Vahid_Nasiri
سه شنبه 10 شهریور 1383, 18:30 عصر
براساس موارد گفته شده ، با استفاده از تابع Replace در VB شما می تونید VbCrLf رو با <br> جایگزین کنید.