Limit Words not Characters in Laravel
I'm using Laravel 5.7 and was wondering what the correct way would be to limit the number of words, not characters, in a description I'm pulling from the database and outputting to a Blade/view.
I currently have this working by adding the following in my Blade file (notice the class Str is in the Blade/view):
@php use IlluminateSupportStr; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
The above limits my paragraph to 25 words, but I realize I should probably be using the Str class in my Controller, not Blade.
When I add use IlluminateSupportStr;
in my controller and not the Blade I get the error that Str is missing.
Controller
use AppTestimonial;
use IlluminateHttpRequest;
use IlluminateSupportStr;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
How can I use the Str class in the controller instead of the Blade?
php laravel laravel-5 laravel-5.7
add a comment |
I'm using Laravel 5.7 and was wondering what the correct way would be to limit the number of words, not characters, in a description I'm pulling from the database and outputting to a Blade/view.
I currently have this working by adding the following in my Blade file (notice the class Str is in the Blade/view):
@php use IlluminateSupportStr; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
The above limits my paragraph to 25 words, but I realize I should probably be using the Str class in my Controller, not Blade.
When I add use IlluminateSupportStr;
in my controller and not the Blade I get the error that Str is missing.
Controller
use AppTestimonial;
use IlluminateHttpRequest;
use IlluminateSupportStr;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
How can I use the Str class in the controller instead of the Blade?
php laravel laravel-5 laravel-5.7
add a comment |
I'm using Laravel 5.7 and was wondering what the correct way would be to limit the number of words, not characters, in a description I'm pulling from the database and outputting to a Blade/view.
I currently have this working by adding the following in my Blade file (notice the class Str is in the Blade/view):
@php use IlluminateSupportStr; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
The above limits my paragraph to 25 words, but I realize I should probably be using the Str class in my Controller, not Blade.
When I add use IlluminateSupportStr;
in my controller and not the Blade I get the error that Str is missing.
Controller
use AppTestimonial;
use IlluminateHttpRequest;
use IlluminateSupportStr;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
How can I use the Str class in the controller instead of the Blade?
php laravel laravel-5 laravel-5.7
I'm using Laravel 5.7 and was wondering what the correct way would be to limit the number of words, not characters, in a description I'm pulling from the database and outputting to a Blade/view.
I currently have this working by adding the following in my Blade file (notice the class Str is in the Blade/view):
@php use IlluminateSupportStr; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
The above limits my paragraph to 25 words, but I realize I should probably be using the Str class in my Controller, not Blade.
When I add use IlluminateSupportStr;
in my controller and not the Blade I get the error that Str is missing.
Controller
use AppTestimonial;
use IlluminateHttpRequest;
use IlluminateSupportStr;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
How can I use the Str class in the controller instead of the Blade?
php laravel laravel-5 laravel-5.7
php laravel laravel-5 laravel-5.7
edited Nov 26 '18 at 4:04
Karl Hill
2,68612142
2,68612142
asked Nov 25 '18 at 23:01
echoecho
480622
480622
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Check Accessor and Mutator
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
and then you can use it on your blade templates or controllers..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53472877%2flimit-words-not-characters-in-laravel%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Check Accessor and Mutator
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
and then you can use it on your blade templates or controllers..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
add a comment |
Check Accessor and Mutator
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
and then you can use it on your blade templates or controllers..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
add a comment |
Check Accessor and Mutator
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
and then you can use it on your blade templates or controllers..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach
Check Accessor and Mutator
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
and then you can use it on your blade templates or controllers..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach
answered Nov 26 '18 at 2:26
JoeJoe
384217
384217
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
add a comment |
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
That works great! Thanks!
– echo
Nov 26 '18 at 2:57
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53472877%2flimit-words-not-characters-in-laravel%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown