محمد
1 سال پیش توسط محمد مطرح شد
4 پاسخ

نمایش بخشی از پاراگراف

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


ثبت پرسش جدید
oss_vahid
تخصص : wp developer
@ossvahid 1 سال پیش مطرح شد
1

سلام اگه 25 حرف رو میخاید میتونید از

substr( $content,  0 ,  25)

ولی اگه 25 کلمه میخاید قضیه فرق میکنه
هر کلمه به صورت یک فاصله از هم جدا شده پس یعنی (سلام دنیا) شامل دو کلمه و 9 حرف هستش

حالا چطوری میشه 25 کلمه رو نشون داد؟

function Summary(string $content,  int $count = 25){
$arr = explode(" ",$content);
$str ="";
$i = 0;
foreach($arr as $word) {
if($i == $count)
{
break;
} 
$str.= " ".$word;
$i++;
}
print $str;
}
Summary($content, 25);

من تابع بالارو همینطوری نوشتم دقیقا مقدار کلمه ایی رو که بخاید از محتوا استخراج میکنه و نمایش میده

نکته

گرفتن یک متن طولانی از دیتابیس و سپس نمایش مقدار کمی از متن اشتباه هستش چون میتونه باعث کاهش سرعت عملکرد دیتابیس بشه
بجای اینکه مثلا ی متن 300 کلمه ایی رو از دیتابیس استخراج کنید و فقط 25 کلمه رو نمایش بدید همون اول 25 حرف رو از دیتابیس استخراج کنید تا سرعت پردازش بره بالا و فشار روی دیتابیس کم بشه

SELECT SUBSTRING(ContentBody, 0, 25) AS Summary
FROM Table_name; 

کویری بالا از متن 25 حرفش رو استخراج میکنه مثلا اگه ی متن 9 هزار کلمه ایی داخل دیتابیس باشه فقط 25 حرفش از دیتابیس گرفته میشه


محمد حسین
تخصص : mevn stack
@saghari 1 سال پیش مطرح شد
1

برای نمایش مثلا 50 حرف اول توی جاوا اسکریپت اینطوری میشه عمل کرد:

text.slice(0, 50)
// or
text.substr(0, 50)
// or
text.substring(0, 50)

برای نمایش 50 حرف اول:

const cutter = (text, limit) => {
    let str = ''

    text.split(' ').forEach((word, index) => {
        if (index < limit) str += `${word} `
        else break
    })

    return str
}

cutter(text, 50)

البته ossvahid درست میگه همون موقع که از دیتابیس میگیری متنو کوتاهش کن که پرفورمنست نیاد پایین


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 1 سال پیش مطرح شد
1

سلام دوست عزیز
یه موضوع خیلی ساده تر داریم توی css که من خودم ازش استفاده میکنم ellipsis هست به شکل زیر

text-overflow: ellipsis;

احتمالا دو کد زیر هم نیازت بشه همزمان کنارش قرار بدی

    white-space: nowrap;
    overflow: hidden;

خیلی راحت به متن خودت یه طول دلخواه بده و ادامشو این برات نقطه چین میزاره
کاربردشم میتونی توی تصویر زیر در ستون مربوط به کالا ها ببینی
 تصویر


محمد
تخصص : تازه وارد بک اند
@general 1 سال پیش مطرح شد
0

واقعا ممنونم از راهنمایی تون


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

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