каков аналогичный синтаксис лезвия для следующего кода?
<?php if (...):?>abc<?php else:?>cde<?php endif;?>
код @if (...) abc @else .... бесполезен, поскольку он рекламирует пробел до и после "abc" кода @if (...) abc @ endif (без пробелов до и после строки html) генерирует ошибку ...
Спасибо






Попробуй это:
@if (...) {{ 'abc' }} @else
УРОДЛИВЫЙ!! Ты меня смешишь ..: D: D
Благодарим вас за фрагмент кода, который может оказать некоторую немедленную ограниченную помощь. Правильное объяснение значительно улучшило бы его долгосрочная стоимость, объяснив, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей с другими подобными вопросами. Измените свой ответ, чтобы добавить пояснения, включая сделанные вами предположения.
Правильный ответ!
Провел немного больше исследований, и похоже, что решения нет, так как в лезвии нет метки без места. Я нашел решение от кого-то, кто оборачивает свою строку в дополнительные теги hml (так что это просто, поскольку он рекламирует пробелы до и после тега и строку внутри тега si spaceless), но в моем случае мне просто нужна строка без пробелов до и после ... Я пойду старомодным способом php ...
Я думаю, что базовый дополнительный тег <span> должен помочь вам добиться того, что вы ищете, используя директивы blade-сервера до тех пор, пока
Правильный синтаксис:
@if (...)
abc
@else
cde
@endif
Я никогда не видел нежелательных пространств с этим.
да, есть пробелы ... добавьте что-нибудь перед if и после if (например, открывающие и закрывающие скобки) и попытайтесь получить содержимое внутри рядом с скобками без пробелов ... (@if (...) abc @endif ). В конце обязательно должен стоять пробел, если в противном случае слово не будет распознано парсером. И это пространство затем применяется к результату ... можно ли получить текст вроде (abc), где скобки находятся за пределами оператора if, а abs является результатом на ветке then or else?
У меня были похожие проблемы с пробелами.
Я использую обходной путь:
Поместите оператор if в теги php
@php
$myVar = 'abc';
if (...) $myVar = 'cde';
@endphp
а затем повторить определенную переменную
{{$myVar}}
Решение
Правильное решение этой проблемы будет следующим:
@if (1==1){{ '1' }}@endif
Это часто случается и создает проблемы с "чувствительными к пространству" частями кода, такими как значения в тегах <option>.
@if (1==1) 1 @endif будет скомпилирован следующим образом, в котором показаны пустые места вокруг числа:
<?php if (1==1): ?> 1 <?php endif; ?>
Код решения будет скомпилирован в этот код:
<?php if (1==1): ?><?php echo e('1'); ?><?php endif; ?>
Что в значительной степени объясняет, почему при этом не будет дополнительных пробелов.
Это обходной путь, но я все же думаю, что мы всегда должны помнить, что это среда PHP ... Итак, просто:
@php
if (...) echo "abc";
else echo "cde";
@endphp
Я нашел решение, если есть проблема с пространством между @if () @ endif и @if. Я заменил @if () @endif на переменную {{$ wardname}}, которая будет напечатана с использованием {{$ wardname}} @ if, и ее устранен конфликт с @endif & @if
и прикладная логика вроде:
if ($city->wardname! = "") {
$wardname = "(".$city->wardname.")";
}else{
$wardname = "";
}
Реализовано как: {{$ wardname}} @ если
я думал об этом, но это УЖАСНО;) ... также тестировал, это не имеет никакого значения, пробелы все еще добавляются ... abc == {{'abc'}} проблема по-прежнему заключается в пробелах до и после { {}}