У меня есть база данных с такими типами, как:
Развлекательная программа & Продукты питания,
Здоровье & уход
и т.п.
Я вставляю его в выпадающий список следующим образом:
<div class="form-group{{ $errors->has('type') ? ' has-error' : '' }}">
<div class="type_message form-control alert-warning" style="display: none;"></div>
<label id="type2" for="type" class="col-md-4 control-label">Type</label>
<div class="col-md-6">
<select class="form-control" name="type" id="type">
<option selected value="{{ $entity->type }}">{{ $entity->type }}</option>
@foreach ($entities as $entity_select)
<option value={{ $entity_select->type}}>{{ $entity_select->type }}</option>
@endforeach
</select>
@if ($errors->has('type'))
<span class="help-block">
<strong>{{ $errors->first('type') }}</strong>
</span>
@endif
</div>
</div>
Проблема в том, что когда я проверяю значение поля, оно выглядит так:
<option value="Entertainment & Nightlife" selected="">Entertainment & Nightlife</option>
Поэтому в базе данных он только добавляет «Развлечения», как я могу избежать этого?
<option value="{!! $entity_select->type !!}">{!! $entity_select->type !!}</option>
https://laravel.com/docs/5.4/blade#displaying-data
Как указано в документации:
Будьте очень осторожны при отображении контента, предоставленного пользователями вашего сайта.
приложение. Всегда используйте escape-синтаксис с двойной фигурной скобкой для
предотвратить атаки XSS при отображении пользовательских данных.
Других решений пока нет …