PDA

View Full Version : انتخاب چند بخش اول هر متن



mohsen200162
جمعه 01 اردیبهشت 1391, 10:19 صبح
سلام
من یه سایت خبری دارم طراحی می کنم
از من می خوان که خبری که نوشته می شه در صفحه اول یه بخشی از اون نمایش داده بشه
مثلا 200 کارکتر اول هر خبر
حالا 2 تا سئوال
بهترین روش برای انجام این کار چیه
1- استفاده از یه فیلد دیگه در دیتابیس که 200 کارکتر اول رو در خودش ذخیره کنه
2- هنگام نمایش اطلاعات 200 تا اول رو نمایش بده
اگه گزینه 2 بهتره می شه برام مثال بزنید
ممنون

d_derakhshani
جمعه 01 اردیبهشت 1391, 10:37 صبح
روش دوم بهتره. هنگام دريافت اطلاعات از ديتابيس در Query مورد نظر به اين شكل عمل كنيد:

Select ..,SUBSTRING(newsText,1,200),.. From Table

بهتره در كوئري اين كار كنيد(اگه طول متن زياده) نه اينكه اول لود كنيد بعد در برنامه 200 كاركتر رو برداريد چون باعث كندي ميشه.

dorparasti
جمعه 01 اردیبهشت 1391, 11:14 صبح
هنگام دريافت اطلاعات از ديتابيس در Query مورد نظر به اين شكل عمل كنيد:


مشکلی که این روش داره اینه که معمولا متن اصلی خبر محتوی لینک ، تصویر و تگ های فرمت بندی دیگه هستش و وقتی از متد substring استفاده می کنید ممکنه بخشی از یک تگ به صورت ناقص جدا و نمایش داده بشه که جالب نیست . به نظر من بهتره اول با استفاده از regular expression تگ ها رو از متن پاک کنید بعد اقدام به جدا کردن 200 کاراکتر کنید که بعید می دونم توی T-sql این ممکن باشه .

d_derakhshani
جمعه 01 اردیبهشت 1391, 11:35 صبح
در SQL استفاده از Regulare Expression ممكنه. هر چند يكم سخته. اما با توجه به نياز بايد روش مناسب رو استفاده كرد. روش بهتره كه اطلاعات كمتر، سبك تري جابه جا بشه و سرعت بالاتري در اختيار قرار بده.

hamid_shrk
جمعه 01 اردیبهشت 1391, 11:36 صبح
@dorparasti (http://barnamenevis.org/member.php?78336-dorparasti) :
شما چنانچه داده هاتون رو درون یک تگ <p> بذارید چنین اتفاقی نمیفته.
کافیه تست کنید تا متوجه بشید.
ولی اگه تو تگ <span> بذارید اگه تگی نصفه بیاد کار خراب میشه.