Оператор switch в PHP ввел HTML

<? 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 предполагают, что это должно быть возможно.

Может кто-то подтвердить, что это не работает, или, вернее, сказать мне, что я делаю неправильно?

Благодарю.

Related of "Оператор switch в PHP ввел HTML"

Я прочитал в 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> 

http://php.net/control-structures.alternative-syntax

У тебя есть

 ?>\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; ?>