如何显示每行前 50 个字符的 Laravel 数组

How to show a Laravel array with first 50 characters of each row

我有一个 4.2 Laravel 数组,我正在此处构建,它将数字值从一个 table 转换为在我正在构建的下拉列表中显示文本值。 (例如#4 是蓝色)

有些文字很长,我想将其缩减为显示在下拉列表中的前 50 个字符。我该怎么做呢?以下是我的片段。因此,我不想显示 "Blue is my favorite color and I like to watch the clouds...",而是希望它显示 "Blue is my fav color and..."

谢谢

$Appinfo = finding::where('ID',$id)->first();
$active = finding::where('ID', $id)->pluck('fkey_target_id');
$AppTarget  = Target::where('id', '>', 0)->get();
$borat  = Target::where("ID", $active)->select('ID')->first();
$tempArray6 = [];
foreach($AppTarget as $entry6)
 {
   $tempArray6[$entry6->ID] = $entry6->target;
 }
$AppTarget = $tempArray6;

这是我的表格

{{ Form::select('target', array('' =>  $AppTarget), $borat->ID, array('class' => 'form-control','data-fv-notempty' => 'false','data-fv-notempty-message'=>'Please input.')) }}

纯php方式:

$longString = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';

echo substr($longString, 0, 50).'...';
//Lorem ipsum dolor sit amet, consectetur adipiscing...

Laravel 方式 (str_limit):

str_limit($longString, 50);

虽然在里面 blade 你可以同时使用两者。
示例:

@php
    substr($longString, 0, 50).'...';
@endphp

{{ str_limit($longString, 50) }}

{{ substr($longString, 0, 50).'...' }}

我能够在控制器中创建一个新功能,然后 return 使用 str_limit 返回该功能。在数组中以任何其他方式进行操作确实有效,但在视图的表单中不起作用。