从 HTML 中分离
PHP 的脚本由文件中一对特殊的标记所引起的内容,当解释器分析一个文件时,所有特殊标记外的普通文件,解释器不对其做任何处理,而特殊标记内文件将作为 PHP 代码被解释器分析执行。该运行机制将允许您在 HTML 中嵌入 PHP 代码:PHP 标记外的内容将被完全独立开,不做任何处理,而内部的将作为 PHP 代码解析。
用来标记 PHP 代码块的标记共有四套,其中只有两套总是有效( 和 );另外两套可以在 php.ini 配置文件中开启或者关闭。虽然短格式的标记和 ASP 风格的标记可能比较省力,但是某些情况下您可能必须要使用长格式的标记。比如,您打算在 XML 或者 XHTML 中嵌入 PHP 代码,您将需要使用 形式的标记以适应 XML 的标准。
PHP 支持的标记为:
<span class="html"><font face="NSimsun">1. <span class="default"><?php </SPAN><span class="keyword">echo(</span><span class="string">"if you want to serve XHTML or XML documents, do like thisn"</span><span class="keyword">); </span></span></font><font face="NSimsun"><span class="default">?><br></span><br>2. <span class="default"> </span><span class="keyword">echo (</span><span class="string">"this is the simplest, an SGML processing instructionn"</span><span class="keyword">); </span></font><font face="NSimsun"><span class="default">?><br></span> <span class="default">= expression ?></span> This is a shortcut for "<span class="default"> </span><span class="keyword">echo </span><span class="default">expression ?></span>"<br>3. </font><font face="NSimsun"><span class="default"><script language="php"><br> </script></span><span class="keyword">echo (</span></font><span class="string"><font face="NSimsun">"some editors (like FrontPage) don't<br> like processing instructions"</font></span><span class="keyword"><font face="NSimsun">);<br></font></span><font face="NSimsun"><span class="default"><br></span><br>4. <br></font></span> |
优先选用的方式为第一种方式 ,因为它允许您在 XML 结构,如 XHTML 的代码中使用 PHP。
第二种方式并非总是可用的。只有当您在 php.ini 配置文件中激活 short_open_tag 选项,才是可用的。您也可以通过使用 short_tags() 函数(仅用于 PHP 3),或者使用 --enable-short-tags 选项 configure PHP 来激活短格式标记。在 php.ini-dist 配置文件中,默认是开启短格式标记的,但是建议您不要使用该标记。
在 PHP 配置文件中开启选项 asp_tags 将激活第四种方式。
注: ASP 风格的标记添加于 PHP 3.0.4
注: 当开发大型应用程序或者用于分发的函数库,或者在不受您控制的 PHP 服务器上面开发程序时,请不要使用短格式的标记,因为目标服务器可能并不支持短格式的标记。为了便于移植,请保证用于再分发的代码中不使用短格式的标记。
PHP 代码块结束标记奖自动包含最近的一个结尾的新行(如果存在的话)。而且,结束标记自动隐含一个分号; 您不需要为 PHP 代码块的最后行追加一个分号。
PHP 允许您使用如下的结构:
更高级的脱离
<?phpif ($expression) { ?> <strong>This is true.</strong> <?php} else { ?> <strong>This is false.</strong> <?php}?> |
PHP 将直接输出结束标记和下一个开始标记中的任何非 PHP 代码。当需要输出大量的文本时,退出 PHP 解析模式将比使用 echo() 或者 print() 或者此类的函数打印所有文本要更加的有效。 1