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

خلاصه نویسی در لاراول

سلام
میخواستم یه متن مثلا ۳۰۰ کلمه ای از دیتابیس بگیرم و فقط ۲۵ کلمه از اون در تگ p نشون بدم
برای اینکه اتوماتیک بیاد و این خلاصه ایجاد کنه باید چیکار کنم ( لاراول)


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

متاسفانه از لاراول و الکوئنت هیچ اطلاعی ندارم چطوریاس
کد زیر رو از اینترنت براتون پیدا کردم مطمعن شما که آشنایی دارید متوجه میشید چی شده

User::where(DB::raw("substr('name', 0, 25)"), '=', 'kelvin');

داخل الکوئنت دنبال ی متد بگردید بنام substr توی منابع خارجی چیز خوبی پیدا می‌کنید
substring laravel eloquent


فرزاد عامری
تخصص : وردپرس
@Farzadameri 1 سال پیش مطرح شد
2

سلام دوست عزیز

substr( $content,  0 ,  25);

oss_vahid
تخصص : wp developer
@ossvahid 1 سال پیش آپدیت شد
2

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

substr( $content,  0 ,  25)

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

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

$arr = explode(" ",$content)

کد بالا میاد و کل متن مارو هرجا فاصله داره تبدیل ب یک آیتم از یک ارائه میکنه اینطوری ما 300 کلمه رو تبدیل به ارائه کردیم الان باید 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 حرفش از دیتابیس گرفته میشه


ستایش
تخصص : لاراول
@Setayeshho 1 سال پیش مطرح شد
0

@Farzadameri @ossvahid
ممنون دوستان
فقط از این کوئری که دادید چجوری استفاده کنم تو لاراول ( الکوئنت


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

متاسفانه از لاراول و الکوئنت هیچ اطلاعی ندارم چطوریاس
کد زیر رو از اینترنت براتون پیدا کردم مطمعن شما که آشنایی دارید متوجه میشید چی شده

User::where(DB::raw("substr('name', 0, 25)"), '=', 'kelvin');

داخل الکوئنت دنبال ی متد بگردید بنام substr توی منابع خارجی چیز خوبی پیدا می‌کنید
substring laravel eloquent


محمد حسینی
@lu1362 1 سال پیش آپدیت شد
0

برای این کار می تونی از Str::limit هم استفاده کنی . مثلا

$postTitle =Str::limit($post->title , 25); 

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

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