我从 L5.0 开始运行此代码。随着对 L5.3.30 + 依赖项的最新更新,它似乎被破坏了。也许我从一开始就做错了什么?
这是简化的代码:
{!! Form::select('currency', ['USD'=>'USD: *escape code here*'],
null, ['class'=>'form-control', "required", 'id'=>'currency']) !!}
在过去的几年里,这段代码返回了一个带有如下文本的选择框:“USD: $”
在 composer 更新到 L5.3.30 之后,在所有服务器(test、dev、prod)上,它现在返回 html 符号:“USD: escape code here ”
我暂时(并成功)使用以下方法修补了这个:
<select name = 'currency' id="currency" required class="form-control">
@foreach (\Helper::currency() as $k=>$v)
<option value="{{$k}}">{!! $v !!}</option>
@endforeach
</select>
上面的代码在 $v var 中有货币的转义码,并在选择框中正确显示。
请帮忙 - 这打破了我的应用程序上的很多表格。
谢谢你。
编辑:我仍然可以使用 {!! 正确显示未转义的文本 !!} 其他地方。它似乎只影响 Form::select() 项目。因此,我开始认为这不是 Laravel 的刀片逃生问题,而是最新版本的 Laravel 集体表单功能问题
解决方案:我向 Laravel Collective 开发团队记录了这一点,但这显然没有被回滚。有关最新信息,请参阅https://github.com/LaravelCollective/html/issues/296。