<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN" /> <title>Hello World</title> <style> body{font-size:15px;color:#000;font-family:Arial,Helvetica,sans-serif;} a{color:#039;text-decoration:none;} </style> </head> <body> </b> <?php echo "Hello world!這是正文"; ?> <br> <a href=# >這是一個超鏈接</a> </b> </body> </html>
<?php if(!$_POST) { echo '<form action="" method="post"> 服務器地址:<input type="text" name="host" value="localhost" /><br /> 數據庫賬號:<input type="text" name="user" value="" /><br /> 數據庫密碼:<input type="password" name="pwd" value="" /><br /> 指定數據庫:<input type="text" name="db" value="test" /><br /> <input type="submit" value="確定"/> </form><hr/>說明:<b>……<br /></b> '; } ?>不過比較多見的還是加了轉義符號的,個人覺得閱讀起來不爽
echo "<input type=\"submit\" value=\"確定\"/>"
<<<EOT EOT;
中間的文檔直接輸出,一個比較好理解的說法是“一個多行的echo ”。
<?php $label1 = "deepblue_mainslide"; $label2 = "deepblue_mainh1"; $label3 = "deepblue_maint1"; $label4 = "deepblue_maint2"; $rs = array("http://123.abc.com", "abc", "ABC"); print <<<EOT <div class="slidecont">{$label1}</div> <div class="newcontainter"> <div class="head">{$label2}</div> <div class="cont" id="Tab1"> {$label3} </div> <div class="cont" id="Tab2"> {$label4} </div> </div> <a href="$rs[0]" title="$rs[1]" target="_blank">$rs[2]</a> EOT; ?>
<?php print <<<EOT[1] <a href="http://blog.i1728.com/" title="東方天宇的博客">東方天宇的博客</a> [2]EOT;[3] echo "喂~人家在等你呢!"; ?>
我們會發現,[如果三個地方任何一個地方加了空格],會顯示以下三種不同的錯誤提示,最後的echo也沒有執行。
//[1]( ! ) Parse error: syntax error, unexpected '<<' (T_SL) in D:\MyHTTP\Apache24\htdocs\testPHPmixHTML04.php on line 2 //[2]( ! ) Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in D:\……\testPHPmixHTML04.php on line 14 //[3]( ! ) Parse error: syntax error, unexpected '{' in D:\MyHTTP\Apache24\htdocs\testPHPmixHTML04.php on line 8
這是因為(<<<EOT)沒有找到標識符結束字符,將echo語句也包含到需要輸入的內容了。
同時,因為沒有找到標識符結束字符所有的內容都不會輸出。