У меня есть следующая проблема. Я использовал следующий код на своей странице, чтобы игнорировать некоторый PHP-код, но кажется, что в выходные дни в благодарность было обновление, и он больше не игнорирует код.
<!-- <div class="main"> <div class="main-sub"> <?php include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); ?> <div id="mid-top"><img src="" width="990" height="20" alt="Top Spacer"/></div> <div id="mid_shdw"> -->
Остальная часть HTML-кода игнорируется, но игнорируется только код php. Я знаю, что одним из способов является включение <!--
в php-функцию. Но есть ли другой способ игнорировать PHP-код с остальной частью html-кода?
Это комментарий HTML . Это не влияет на код PHP.
Вы должны использовать комментарии PHP :
Комментарий блока:
/* BLOCK OF COMMENTED CODE */
Комментарий линии:
// this is a commented line
PHP-код интерпретируется сервером и рассчитывается как «длинный», прежде чем он попадет в браузер пользователей. Разметка HTML, находясь на сервере, – это всего лишь текст. Только когда HTML приходит в браузер пользователей, он получает визуализацию (или игнорируется!). Таким образом, ваши комментарии HTML не имели значения для сервера – он видел PHP-код и запускал его – интерпретатор PHP не запрограммирован для распознавания этих странных <!--
Символов, которые вы ему даете. 😉
Ваш PHP-код всегда будет выполняться, потому что он не знает вашего HTML-кода, который его окружает.
Решение, если ваш PHP-код не выполнить, заключается в том, чтобы прокомментировать его:
<!-- <div class="main"> <div class="main-sub"> <? // php include('http://www.contractorsintelligence.com/contractors-license/includes- // page-elements/navigation1.php'); ?> <div id="mid-top"><img src="" width="990" height="20" alt="Top Spacer"/></div> <div id="mid_shdw"> -->
<?php /* comments */ ?>
PHP выполняется до того, как HTML обрабатывается на стороне клиента.
Если вы хотите игнорировать PHP-код, лучше всего сделать это следующим образом:
<?php /* include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); */ ?>
Принимая во внимание, что * * начинает комментарий и * / заканчивает его.
PHP будет анализировать страницу до ее отправки клиенту (или браузеру). Поэтому PHP вообще не «заинтересован» в <!--
или -->
.
С другой стороны, если код HTML, который включен в ваш вызов для include()
содержит дополнительные комментарии HTML ( <!--
или -->
), он может закрыть ваш проигнорированный код до того момента, когда вы его намеревались.
ОБНОВИТЬ
Ваш общий подход немного нечеткий. См. Здесь, если вы хотите использовать PHP, чтобы решить, показывать ли определенный код HTML или нет, вы не хотите использовать комментарии HTML для этого.
Попробуйте это вместо этого:
<?php if($result["r_approved"] != "APPROVED"){ ?> <div class="main"> <div class="main-sub"> <?php include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); ?> </div> <div id="mid-top"> <img src="http://img.ruphp.com/php/shadowbg-top.png" width="990" height="20" alt="Top Spacer"/> </div> <div id="mid_shdw"></div> </div> <?php } ?>
в<?php if($result["r_approved"] != "APPROVED"){ ?> <div class="main"> <div class="main-sub"> <?php include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); ?> </div> <div id="mid-top"> <img src="http://img.ruphp.com/php/shadowbg-top.png" width="990" height="20" alt="Top Spacer"/> </div> <div id="mid_shdw"></div> </div> <?php } ?>
Вы выполняете php-страницу и все между <? ?>
<? ?>
выполняется. Php не заботится о <!-- -->
или любом другом теге, кроме <?
или <?php
.
Тогда браузер не отображает / загружает то, что находится внутри <!-- -->
.
Если вы хотите комментировать php, используйте //
или /* ... */
<?php /* include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); */ ?>
Сразу случаются две вещи, которые, я думаю, могут ввести в заблуждение:
Если вы не закроете все внутри php-тегов с помощью /* */
или не используйте //
этот код будет выполнен, потому что он поступает с сервера.
Браузер – единственный, который анализирует <!-- -->
.
Таким образом, ваш сервер анализирует php, а затем браузер скрывает то, что было проанализировано.
Решение
<?php // include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); ?>
Это потому, что <!--
не обрабатывается PHP, а только браузером. Простейшим (но не всегда лучшим для чтения) решением является
<?php if (false) { ?> <b>This html will not be sent to browser</b> <?php include('this will not be included'); ?> <?php } // endif ?>