نمایش کوتاه یک مطلب

3 سال پیش توسط alitna آپدیت شد
آفلاین
user-avatar
سید رضا موسوی ( 6987 تجربه )
3 سال پیش
تخصص : برنامه

لینک کوتاه اشتراک گذاری

0

سلام
من در دیتابیس خود در یک جدول یک فیلد دارم به نام note
می خواهم زمانیکه کاربر صفحه محصول را می بیند، فقط متنی به حداکثر طول 20 کلمه را ببیند و در صورتی که روی محصول کلیک کرد متن به صور کامل نمایش داده بشود، راهکار چیست؟

آفلاین
user-avatar
حسام موسوی ( 434337 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

لینک کوتاه اشتراک گذاری

0

اگر در همون صفحه متن میخواین اینطوری نمایش داده بشه که اونو باس با جاوا اسکریپت انجام بدید اما اگر میخواین متی رو از از متن اصلی بگیرید و بعد از اینکه کلیک کرد رفت صفحه مطلب نمایش داد
از تابع str_limit در لاراول برای محدود کردن متن میتونید استفاده کنید

آفلاین
user-avatar
Farshidpg ( 10042 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

من در پروژه های خودم ۲ تا فیلد ازکاربر مگیرم برای اینکه اگر با php خلاصه بگیریم هم اینکه امکان داره یک جمله یا کلمه رو خراب کنه و گاهی وقتا خلاصه امکان داره از ابتدا نباشه برای همین به انتخاب کاربر ازش متن خلاصه رو میگیرم

آفلاین
user-avatar
alitna ( 99 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

1

سلام
طبق پاسخ دوستمون اگه تابعی داخل لاراول هست بهتره از همون استفاده کنین .
با php هم میشه از این تابع استفاده کرد :

function sub_content($char){
    $content = 'متن';
    $content = mb_substr($content,0,$char);
    if(mb_strlen($content)<$char){
        $dotstree = "";
    }else{
        $dotstree = "...";
    }
    echo $content,$dotstree;
}

که ورودی تابع تعداد کاراکتر هست و $content خود متن که میشه از تابع هم گرفتش و اگه طول رشته از مقدار وارد شده بیشتر باشه سه نقطه رو اضافه میکنه و اگه کمتر باشه اضافه نمیکنه .

برای نمایش کل متن بعد از کلیک هم میتونین از آزاکس استفاده کنین ک کل متن رو بگیره .
یا دوتا div بذارید و داخل یکیش متن کوتاه و یکیش متن بلند ، ک متن بلند hide باشه و بعد از کلیک اولی رو hide کنه و دومی رو نمایش بده . ولی زیاد جالب نیست این روش .
با css هم میشه به صورت ویژوال ، متن رو خلاصه کرد به همراه سه نقطه ، ولی فقط تو یک خط متن نمایش داده میشه و المنت parent هم باید overflow hidden باشه .

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.