【转载】PHP的(EOT)在PHP中添加html
在W3school上學PHP,看到第一句就是“PHP 文件可包含文本、HTML 標簽以及腳本”
在后來的學習別人的代碼,發(fā)現(xiàn)在需要HTML代碼的PHP腳本中,多用這么幾種方法
第一種是在HTML中加PHP。大段大段的html代碼中,在各個需要執(zhí)行php的地方。這種方法在ASP的程序中比較常見。
例子:
????<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!這是正文";
?>
</b></body></html>
第二種用echo輸出HTML。但是HTML中有雙引號,所用echo輸出的內(nèi)容用單引號括起來,避免出錯,也省了轉(zhuǎn)義這一步。比如這樣的代碼:
<?php
if(!$_POST)
{
echo?'<form?action=""?method="post">
服務器地址:<input?type="text"?name="host"?value="localhost"?/><br?/>
數(shù)據(jù)庫賬號:<input?type="text"?name="user"?value=""?/><br?/>
數(shù)據(jù)庫密碼:<input?type="password"?name="pwd"?value=""?/><br?/>
指定數(shù)據(jù)庫:<input?type="text"?name="db"?value="test"?/><br?/>
<input?type="submit"?value="確定"/>
</form><hr/>說明:<b><br?/></b>';
}
?>
不過比較多見的還是加了轉(zhuǎn)義符號的,個人覺得閱讀起來不爽
echo?"<input?type=\"submit\"?value=\"確定\"/>"?
第三種就是用(<<<)標記符了,這是在PHP168的模板代碼中首次見到的。
<<<EOT
EOT;
中間的文檔直接輸出,一個比較好理解的說法是“一個多行的echo ”。
優(yōu)點是輸出大段HTML方便,不需要轉(zhuǎn)義,而且可以引用變量。一個例子:
<?php
print?<<<EOT
??????<div?class="slidecont">{$label[deepblue_mainslide]}</div>
????????<div?class="newcontainter">
??????????<div?class="head">{$label[deepblue_mainh1]}</div>
????????????<div?class="cont"?id="Tab1">
??????????????{$label[deepblue_maint1]}
????????????</div>
????????????<div?class="cont"?id="Tab2">
??????????????{$label[deepblue_maint2]}
????????????</div>
????????</div>
<a?href="$rs[url]"?title="$rs[descrip]"?target="_blank">$rs[name]</a>
EOT;
?>
在上面的例子干凈利索的輸出了大段HTML+變量的值,非常棒。
但是在使用(<<<eot)
標記符還有一點需要注意:標識符結束字符串既EOT;要獨占一行,前后都不許再有內(nèi)容。
尤其容易犯的失誤就是在標識符前加空格和縮進符,下面的例子什么都不會輸出
<?php
??print?<<<EOT?
<a?href="http://blog.i1728.com/"?title="東方天宇的博客">東方天宇的博客</a>
??EOT;
echo?"喂~人家在等你呢!";
?>
我們會發(fā)現(xiàn),最后的echo也沒有執(zhí)行。這是因為(<<<eot)
沒有找到標識符結束字符,將echo語句也包含到需要輸入的內(nèi)容了。
同時,因為沒有找到標識符結束字符所有的內(nèi)容都不會輸出。
當然,這只是我的理解,因為即使將echo語句放在print <<前面,腳本也不會有內(nèi)容內(nèi)容。
具體什么原因,就留給大家去討論了。
轉(zhuǎn)自http://blog.i1728.com/post/110.html。
轉(zhuǎn)載于:https://www.cnblogs.com/bojo/p/3737569.html
總結
以上是生活随笔為你收集整理的【转载】PHP的(EOT)在PHP中添加html的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Cracking the Code I
- 下一篇: 深入理解JVM—性能调优