Intereting Posts
PHP: как я могу сортировать и фильтровать «массив», то есть объект, реализующий ArrayAccess? Звездный рейтинг, реализующий интервал оценки Уилсона синтаксическая ошибка, неожиданный '' sidebar_bann '(T_ENCAPSED_AND_WHITESPACE), ожидающий'] 'при работе с MongoDB ODM и ZF2 Расширяется ли расширение mysqli в этой конфигурации php? Curl POST to HTTPS url дает ошибку SSLRead () WebSocket с Laravel 5.2 будет ли этот cronjob работать? как создать выбранную опцию из раскрывающегося списка? PHPMailer, вернуть код SMTP Проблема кодирования в phpMyAdmin. В частности, с записями, содержащими русский текст как сделать разбиение на страницы в этом коде? Предупреждение: mysql_query (): доступ запрещен для пользователя 'admin' @ 'localhost' (с использованием пароля: НЕТ) Обнаружение плохих json-данных в PHP json_decode ()? Преобразовать устаревшие eregi / ereg / ereg_replace в preg_match или другой эквивалент $ this-> set ('title', 'Title Name'); не работает в CakePHP 3.x

PHP: Как скрыть / отобразить куски HTML

Я надеюсь, что кто-то может помочь с этим вопросом новичков. Я только что пришел из среды ASP.Net, где было легко скрыть или показать куски HTML. Например: различные этапы формы, в зависимости от того, что пользователь ввел.

Скрытие или отображение <div> / <asp:Panel> было очень простым, но в PHP все, что я могу сделать, это поместить мой HTML в выражение echo . Это делает HTML очень трудным для чтения, его трудно поддерживать, и весь файл выглядит довольно грязным.

Я уверен, что должен быть лучший способ скрыть или показать куски HTML без необходимости включать в себя echo инструкцию, но я не могу найти ни одной онлайн-документации, объясняющей, как это сделать.

Спасибо за любые советы, советы или ссылки на хорошие ресурсы PHP для этого уровня проблемы.

Учитывая PHP как внедренный язык, вы должны, чтобы получить лучшую читаемость, использовать специальные языковые формы для «шаблонов».

Вместо использования эха вы можете просто написать HTML вне тегов <?php ?> (Никогда не используйте <? ?> Которые могут вводить в заблуждение).

Также предлагается использовать if () : вместо if () { , например:

 <body> <?php if (true) : ?> <p>It is true</p> <?php endif; ?> </body> 

Рекомендации:

  • Альтернативный синтаксис

Вам не нужно помещать HTML в выражение echo . Подумайте о том, что HTML как неявное echo . Итак, для условного отображения фрагмента HTML вы должны искать такую ​​конструкцию:

 <?php if (condition == true) { ?> <div> <p>Some content</p> </div> <?php } ?> 

Таким образом, строковый литерал HTML, который существует вне тегов PHP, просто неявно доставляется на страницу, но вы можете обернуть вокруг него логику, чтобы управлять им. В приведенном выше разделе div и его содержимое находятся в рамках оператора if , и поэтому кусок HTML (даже если он находится за пределами тегов PHP) поставляется только в том случае, если условие в коде PHP true .

Попробуй это:

 <?php if ($var == true) { ?> <table>...</table> <?php } ?> 

Вы можете использовать PHP-теги, например, обернутые вокруг HTML, и на основе условного HTML будет либо отображаться, либо нет.