我有以下问题。我在我的页面中使用了以下代码来忽略一些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代码?
答案 0 :(得分:13)
这是HTML comment。它对PHP代码没有影响。
您应该使用PHP comments:
阻止评论:
/*
BLOCK OF COMMENTED CODE
*/
行评论:
// this is a commented line
PHP代码由服务器解释,并在到达用户浏览器之前“长”计算。仍然在服务器上的HTML标记只是文本。只有当HTML到达用户浏览器时才会呈现(或忽略!)。因此,您的HTML注释与服务器无关 - 它看到了PHP代码并运行它 - PHP解释器没有编程识别您提供的这些奇怪的<!--
符号。 ;)
答案 1 :(得分:5)
您的PHP代码将始终执行,因为它不知道您的HTML代码。
如果你的PHP代码不要执行,那么解决方案是 out :
<!--
<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">
-->
答案 2 :(得分:4)
如果您想忽略 PHP代码,最好这样做:
<?php
/* include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); */
?>
然而/ *开始评论而* /结束它。
PHP会在将页面发送到客户端(或浏览器)之前对其进行解析。因此,PHP不感兴趣&#39;完全在<!--
或-->
。
另一方面,如果您对include()
的调用所包含的HTML代码包含更多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="https://www.contractorsintelligence.com/images/shadowbg-top.png" width="990" height="20" alt="Top Spacer"/>
</div>
<div id="mid_shdw"></div>
</div>
<?php
}
?>
答案 3 :(得分:4)
<?php /* comments */ ?>
在客户端处理HTML之前执行PHP。
答案 4 :(得分:2)
执行php页面,执行<? ?>
之间的所有内容。 Php不关心<!-- -->
或除<?
或<?php
之外的任何其他标记。
然后浏览器不会显示/加载<!-- -->
内的内容。
如果您想评论php,请使用//
或/* ... */
<?php /* include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); */ ?>
答案 5 :(得分:1)
有两件事情一下子发生,我认为这可能令人困惑:
除非您使用/* */
将所有内容包装在php标记内或使用//
,否则代码将被执行,因为它来自服务器。
浏览器是唯一一个解析<!-- -->
的人。
所以你的服务器正在解析php,然后浏览器隐藏了解析的内容。
<强>解决方案强>
<?php // include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); ?>
答案 6 :(得分:1)
这是因为PHP不会解析<!--
,只能由浏览器解析。
<?php if (false) { ?>
<b>This html will not be sent to browser</b>
<?php include('this will not be included'); ?>
<?php } // endif ?>