<? switch ($var): ?> <? case 1: ?> It's 1! <? break ?> <? endswitch ?>
Я хочу сделать что-то подобное, другими словами, использовать оператор switch в шаблонах PHP. Это возможно с помощью оператора if. Вышеприведенный код генерирует Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT
в PHP 5.3. Документы PHP предполагают, что это должно быть возможно.
Может кто-то подтвердить, что это не работает, или, вернее, сказать мне, что я делаю неправильно?
Благодарю.
Я прочитал в php doc, что ваш пример не должен работать.
Любой вывод (включая пробел) между оператором switch и первым случаем приведет к синтаксической ошибке. Например, это неверно.
Попробуйте это вместо этого:
<div> <?php switch($variable): case 1: ?> <div> Newspage </div> <?php break; ?> <?php case 2: ?> </div> Forum <div> <?php break; ?> <?php endswitch; ?> </div>
У тебя есть
?>\n\n<?
после вашего переключателя, который становится
switch($var): echo "\n\t"; case 1:
Подумайте о своем сценарии как PHP с HTML в нем, а не об украденном HTML. Сначала двоичный файл PHP получает файл.
Возможно, вы захотите использовать что-то вроде HEREDOC, чтобы вывести неэкранированный HTML.
Я предлагаю это легкое форматирование, тестирование и работу:
<? switch($var) : case 1 : ?> <div>One</div> <? break; case 2 : ?> <div>Two</div> <? break; case 3 : ?> <div>Three</div> <? break; endswitch; ?>