¿Hay un modificador truncado para las plantillas blade en Laravel, muy parecido a Smarty?
Sé que podría escribir el php real en la plantilla, pero estoy buscando algo un poco más agradable para escribir (no entremos en el debate completo de PHP es un motor de plantillas).
Entonces, por ejemplo, estoy buscando algo como:
{{ $myVariable|truncate:"10":"..." }}
Sé que podría usar algo como Twig a través del compositor, pero espero una funcionalidad integrada en Laravel.
Si no, es posible crear sus propios modificadores reutilizables como los que proporciona Smarty. Me gusta el hecho de que Blade no exagera con toda la sintaxis, pero creo que truncar es una función realmente útil.
Estoy usando Laravel 4.
¿Qué pasa con Laravel 5?
– mercurio
27 de febrero de 2016 a las 2:13
@HosMercury Para L5 ver stackoverflow.com/questions/29281013/…
– fl3x7
1 de marzo de 2016 a las 12:21
Espero y rezo para que ya no estés trabajando en laravel 4. 😀
– Vipertecpro
21 abr a las 12:02
@Vipertecpro jeje, ¡eso no sería algo! Laravel ha recorrido un largo camino desde entonces.
– fl3x7
21 abr a las 16:03
anil singh
En Laravel 4 y 5 (hasta 5.7), puede usar str_limitque limita el número de caracteres en una cadena.
Mientras esté en Laravel 5.8 o superior, puede usar el Str::limit ayudante.
Editar: esta respuesta se publicó durante la versión beta de Laravel 4, cuando la clase Str no existía. Ahora hay una mejor manera de hacerlo en Laravel 4, que es la respuesta de Dustin a continuación. No puedo eliminar esta respuesta debido a las reglas SO (no me deja)
Blade en sí no tiene esa funcionalidad.
En Laravel 3 estaba la clase Str, que podías hacer:
Gracias por la sugerencia, parece que tendré que ceder y usar los puertos de Meido jajaja
– fl3x7
22 de febrero de 2013 a las 9:02
Hoy en día Laravel 4 tiene la clase Str. Vea la respuesta de Dustin Graham.
– trm42
15 de diciembre de 2013 a las 1:54
Si, eso es correcto. Cuando publiqué originalmente esta respuesta fue durante Laravel 4 Beta, cuando la clase Str no existía
– Laurence
16 de diciembre de 2013 a las 1:33
¿Dónde está la respuesta original? Es jodidamente imposible encontrar documentos para 4.1 ahora… 🙁
– Srneczek
09/04/2016 a las 16:32
vipertecpro
Actualización para Laravel 7.*: Cuerdas fluidas es decir, una interfaz más fluida y orientada a objetos para trabajar con valores de cadena, lo que le permite encadenar varias operaciones de cadena juntas utilizando una sintaxis más legible en comparación con las operaciones de cadena tradicionales.
$string = Str::of('Perfectly balanced, as all things should be.')->words(3, ' >>>');
Producción
Perfectly balanced, as >>>
Actualización para Laravel 6.* : Necesitas este paquete para trabajar con todos los ayudantes de laravel composer require laravel/helpers
Para usar el asistente en el controlador, no olvide incluir/usar la clase también
use Illuminate\Support\Str;
Laravel 5.8 Actualizar
Esto es para manejar caracteres de la cadena :
{!! Str::limit('Lorem ipsum dolor', 10, ' ...') !!}
Producción
Lorem ipsu ...
Esto es para manejar palabras de la cadena :
{!! Str::words('Lorem ipsum dolor', 2, ' ...') !!}
Producción
Lorem ipsum ...
Aquí está la documentación de ayuda más reciente para el manejo de cadenas Ayudantes de Laravel
Para mantener su código SECO, y si su contenido proviene de su modelo, debe adoptar un enfoque ligeramente diferente. Edite su modelo así (probado en L5.8):
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class Comment extends Model
{
public function getShortDescriptionAttribute()
{
return Str::words($this->description, 10, '...');
}
}
?>
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información
¿Qué pasa con Laravel 5?
– mercurio
27 de febrero de 2016 a las 2:13
@HosMercury Para L5 ver stackoverflow.com/questions/29281013/…
– fl3x7
1 de marzo de 2016 a las 12:21
Espero y rezo para que ya no estés trabajando en laravel 4. 😀
– Vipertecpro
21 abr a las 12:02
@Vipertecpro jeje, ¡eso no sería algo! Laravel ha recorrido un largo camino desde entonces.
– fl3x7
21 abr a las 16:03