PDA

View Full Version : ایجاد خلاصه ی اخبار ؟



nice_boy_a
پنج شنبه 08 فروردین 1392, 15:48 عصر
سلام.
چه جوری چند خط اول یه متنی رو از بانک استخراج کنم ؟
این سایتو ببینید
http://www.farsnews.com/
زیر هر عنوانی یه خلاصه خبر داره، و وقتی روش کلیک میشه کل خبر رو نشون میده.
چه جوری قسمتی از متن رو جدا کنم و به عنوان خلاصه خبر نشون بدم ؟

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

rezaei_y
پنج شنبه 08 فروردین 1392, 18:05 عصر
با سلام
دوست عزیز معمولا یک فیلد برای خلاصه خبر و یک فیلد برای متن خبر در نظر میگیرن که مدیر هنگام ثبت خبر هر دو فیلد رو پر میکنه

یک روش دیگه هم اینه که تعداد مثلا 100 کاراکتر اول متن خبر رو به عنوان خلاصه خبر نمایش بدی که به دلیل اینکه ممکنه قسمتی از کلمه انتهایی بریده بشه روش مناسبی نیست

jafar01
پنج شنبه 08 فروردین 1392, 20:27 عصر
دوست من همین کارو برای خلاصه ی اخبار کردم میتونی بگی در نشون دادن مثلا ... کاراکتر اول نشون بده
if (firstSec.Length > 300)
{
; (firstSec = firstSec.Substring(0, 300)
}

hamidreza1376
پنج شنبه 08 فروردین 1392, 20:40 عصر
با سلام
دوست عزیز معمولا یک فیلد برای خلاصه خبر و یک فیلد برای متن خبر در نظر میگیرن که مدیر هنگام ثبت خبر هر دو فیلد رو پر میکنه

یک روش دیگه هم اینه که تعداد مثلا 100 کاراکتر اول متن خبر رو به عنوان خلاصه خبر نمایش بدی که به دلیل اینکه ممکنه قسمتی از کلمه انتهایی بریده بشه روش مناسبی نیست
سلام.
روشی نیست که بگی بین کارکتر 100 تا 120 اولین فضای خالی رو جدا کنه؟

که دیگه کلمه ای ناقص نشه.

pcseven
پنج شنبه 08 فروردین 1392, 20:56 عصر
البته برای اینکه سوء تفاهم پیش نیاد و کلمات نامفهوم و یا خدای نکرده ناجور ناشی از برش خوردن کلمات طولانی بوجود نیاد، می تونی از کد زیر استفاده کنی

string s = "چه جوری چند خط اول یه متنی رو از بانک استخراج کنم";
int length = 20;
string trunc = s.Substring(0, s.IndexOf(" ", length));
// چه جوری چند خط اول یه will be assigned to "trunc"


s همون رشته اصلی هست که قراره برش بخوره، length هم طول رشته ی جدید یا همون رشته ی خلاصه شده هست. و در نهایت trunc خروجی مورد نظر شماست.
این نکته فراموش نشود که ممکنه طول رشته جدید، کمی بیش از length باشه، چون در صورتی که کاراکتری با اندیس length در رشته ورودی، کاراکتر میانی یک کلمه باشد، آن کلمه تا انتها پردازش خواهد شد.