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