PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法――按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因――至少一大部分原因是这样的。
PHP中的定界符格式是这样的:
<<<Eof
……
Eof;
看起来很简单,但是其中有许多地方需要注意。
使用定界符<<< 的注意事项
定界符标识必须前后一致
可以任意定义定界符标识,比如 echo html div ,尽量选用有意义的标识符,并遵循某类命名规范。
开头标识后不能跟任何字符,空格也不可以,换行后再跟要输出的文本。
结束标识(其后紧跟一个分号;)前后都不可有任何字符,即结束标识要顶头写,且独占一行,其后除紧跟分号外,不能有任何字符(空格也不可以)
最后要注意的是,结束标识所在行不能成为脚本的最后一行,其下必须有空行或者其他代码行,否则报错。
实例如下:
- <?php
- //格式一
- $a=<<<HTML
- <table>
- <tr>123<td></td><td></td><td></td></tr>
- </table>
- HTML;
- echo $a;
- //格式二
- echo <<<EOT
- <table width=80% border="2" cellpadding="3" cellspacing="0" bordercolor="#808080">
- <tr bgcolor="#84A9E1">
- <td align="center">ClassID</td>
- <td align="center">stuno</td>
- <td align="center">学生姓名</td>
- <td align="center">家长姓名</td>
- <td align="center">家长手机号</td>
- </tr>
- EOT;
- echo '999999';//此行是为了满足注意事项的最后一条额外添加的语句