Не работает перенос строки

123
12 июня 2019, 00:20

Храню в JSON характеристики товаров. При выводе пытаюсь заменить все запятые на перенос строки.

  {{ $char= json_decode($prod[0]->characteristic)}}
   {{ str_replace(',',PHP_EOL,$char) }}
    {{ nl2br($char) }}

Выводит в таком виде:

Процессор: Xenos.<br /> ОЗУ: 1 ГБ,<br /> ОС: Андроид,<br /> Камера: 12 МП/5 МП,<br /> Дисплей: 5.5

Подскажите решение.

Answer 1

Я всегда подозревал, что Blade - это зло, и теперь я в этом убедился.
Возможность писать в шаблоне любой РНР код - это отличная возможность выстрелить себе в ногу. И вот в итоге здесь мы видим, как бизнес-логика во всю цветет и пахнет в шаблоне.

Чтобы сделать правильно, надо всю бизнес-логику вымести из шаблона.

И плюс надо сделать нормальное хранение параметров, без этих чудовищных запятых. Но поскольку это будет очень сложно для автора и не имеет прямого отношения к вопросу, то хотя бы вместо str_replace() надо использовать explode() для получения массива. И уже этот массив нормально выводить циклом в шаблоне.

В итоге, json_decode и explode() в обязательном порядке убираются в контроллер, а в шаблоне остается аккуратный код

@foreach($prod[0]->characteristic as $char)
    {{ $char }}<br>
READ ALSO
Как обрезать конец названия файла, но оставив формат. PHP (substr)

Как обрезать конец названия файла, но оставив формат. PHP (substr)

Подскажите, пожалуйстаДопустим есть $q = "kartinka

125
дополнить часть строки через регулярку

дополнить часть строки через регулярку

Задача звучит так: Напишите скрипт, который найдёт в строке все даты и заменит их на дату с днем недели

114
Не могу получить все cookie

Не могу получить все cookie

Использую CURL для получения данных с сайтаЕсли просматривать эту ссылку в браузере - там есть много cookie

133
Где допущена ошибка в WHILE цикле?

Где допущена ошибка в WHILE цикле?

Есть 2 запросаОдин по определенному пользователю, а другой по целому массиву пользователей

123