У меня этот код работает с L5.0. С последним обновлением до L5.3.30 + зависимостей он, кажется, сломан. Возможно, с самого начала я сделал что-то неправильно?Laravel Blade Form :: select - теперь вытесняете бегство?
Вот упрощенный код:
{!! Form::select('currency', ['USD'=>'USD: *escape code here*'],
null, ['class'=>'form-control', "required", 'id'=>'currency']) !!}
За последние несколько лет этот код вернувшихся выберите поле с текстом, как это: «USD: $»
После обновления композитора к L5.3.30 на всех серверах (тест, Dev, Prod), теперь он возвращает символ HTML вместо: "USD: побег код здесь"
я временно (и успешно) заплата это с помощью:
<select name = 'currency' id="currency" required class="form-control">
@foreach (\Helper::currency() as $k=>$v)
<option value="{{$k}}">{!! $v !!}</option>
@endforeach
</select>
Приведенный выше код имеет код выхода для валюты в $ v var и отображается правильно в поле выбора.
Пожалуйста, помогите - это разбивает несколько форм на моем приложении.
спасибо.
EDIT: Я все еще могу правильно отобразить неэкранированный текст, используя {!! !!} где-либо еще. Похоже, что это касается только элементов Form :: select(). Поэтому я начинаю думать, что это не проблема с побегом лезвия Ларавеля, а скорее с последней версией функции коллективной формы Laravel.
РЕШЕНИЕ: Я отметил это коллективной коллективу команды Laravel, но это, по-видимому, НЕ было откат. См. https://github.com/LaravelCollective/html/issues/296 для получения последней информации.
Да, это действительно проблема с Laravelcollective Formbuilder. Я проследил эту проблему до файла /vendor/laravelcollective/html/src/FormBuilder.php строки 683, есть «$ this-> html-> escapeAll ($ display)», что вызывает проблемы. Возможно, вы можете попытаться связаться с разработчиками, они слушают электронные письма. Пожалуйста, держите нас в курсе. –
Ничего себе. Фактическая ошибка. Большое спасибо @ Милослав Мило Янушек, мне больше не нужно думать, что я сумасшедший. Я дойду до команды разработчиков. – Watercayman