PHP Manual
后退 |  | 前进

# 章 10. 基本语法

# 从 HTML 中分离

PHP 的脚本由文件中一对特殊的标记所引起的内容，当解释器分析一个文件时，所有特殊标记外的普通文件，解释器不对其做任何处理，而特殊标记内文件将作为 PHP 代码被解释器分析执行。该运行机制将允许您在 HTML 中嵌入 PHP 代码：PHP 标记外的内容将被完全独立开，不做任何处理，而内部的将作为 PHP 代码解析。

用来标记 PHP 代码块的标记共有四套，其中只有两套总是有效（<?php. . .?> 和 <script language="php">. . .</script>）；另外两套可以在 `php.ini` 配置文件中开启或者关闭。虽然短格式的标记和 ASP 风格的标记可能比较省力，但是某些情况下您可能必须要使用长格式的标记。比如，您打算在 XML 或者 XHTML 中嵌入 PHP 代码，您将需要使用 <?php. . .?> 形式的标记以适应 XML 的标准。

PHP 支持的标记为：

例子 10-1. 从 HTML 中分离的方式

`1. <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>
2. <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
<?= expression ?> This is a shortcut for "<? echo expression ?>"
3. <script language="php">
echo ("some editors (like FrontPage) don't
like processing instructions");
</script>
4. <% echo ("You may optionally use ASP-style tags"); %>
<%= $variable; # This is a shortcut for "<% echo . . ." %>`

优先选用的方式为第一种方式 <?php. . .?>，因为它允许您在 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 允许您使用如下的结构：

例子 10-2. 更高级的脱离

`<?php if ($expression) { ?> <strong>This is true.</strong> <?php } else { ?> <strong>This is false.</strong> <?php } ?>`

PHP 将直接输出结束标记和下一个开始标记中的任何非 PHP 代码。当需要输出大量的文本时，退出 PHP 解析模式将比使用 echo() 或者 print() 或者此类的函数打印所有文本要更加的有效。

后退 | 起点 | 前进
语言参考 | 上一级 | 指令分隔符