PHP是一個Web編程語言,在編程過程中難免會遇到用echo來輸出大段的html和javascript腳本的情況,如果用傳統(tǒng)的輸出方法――按字符串輸出的話,肯定要有大量的轉(zhuǎn)義符來對字符串中的引號等特殊字符進(jìn)行轉(zhuǎn)義,以免出現(xiàn)語法錯誤。如果是一兩處還可以容忍,但是要是一個完整的html文本或者是一個200行的js我想是誰都會崩潰的。這就是PHP為什么要引入一個定界符的原因――至少一大部分原因是這樣的。
PHP中的定界符格式是這樣的:
<<<Eof
……
Eof;
看起來很簡單,但是其中有許多地方需要注意。
使用定界符<<< 的注意事項(xiàng)
定界符標(biāo)識必須前后一致
可以任意定義定界符標(biāo)識,比如 echo html div ,盡量選用有意義的標(biāo)識符,并遵循某類命名規(guī)范。
開頭標(biāo)識后不能跟任何字符,空格也不可以,換行后再跟要輸出的文本。
結(jié)束標(biāo)識(其后緊跟一個分號;)前后都不可有任何字符,即結(jié)束標(biāo)識要頂頭寫,且獨(dú)占一行,其后除緊跟分號外,不能有任何字符(空格也不可以)
最后要注意的是,結(jié)束標(biāo)識所在行不能成為腳本的最后一行,其下必須有空行或者其他代碼行,否則報(bào)錯。
實(shí)例如下:
<?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">學(xué)生姓名</td> <td align="center">家長姓名</td> <td align="center">家長手機(jī)號</td> </tr> EOT; echo '999999';//此行是為了滿足注意事項(xiàng)的最后一條額外添加的語句