首頁 >php教程 >php手册 >[轉]php和html混編的三種方式

[轉]php和html混編的三種方式

WBOY
WBOY原創
2016-08-15 16:49:411796瀏覽

php和html混編的三種方式

 
在W3school 上學PHP,看到第一句就是「PHP 檔案可包含文字、HTML 標籤以及腳本」 

在後來的學習別人的程式碼,發現在需要HTML程式碼的PHP腳本中,多用這麼多方法 

第一種是在HTML中加上PHP。大段大段的html程式碼中,在各個需要執行php的地方。這種方法在ASP的程式中比較常見。 
範例: 
100db36a723c770d327fc0aef2ce13b1
93f0f5c25f18dab9d176bd4f6de5d30e 
97f2b6ae5f4f65bc7d15c6c9b9e8be8c 
a9c5d4038c22d1fde543ddd5b8764fc5 
b2386ffb911b14667cb8f0f91ea547a7Hello World6e916e0f7d1e588d4f442bf645aedb2f
    c9ccee2e6ea535a969eb3f532ad9fe89<span style="color: #000000;">
        body{font</span>-size:15px;color:<span style="color: #008000;">#</span><span style="color: #008000;">000;font-family:Arial,Helvetica,sans-serif;}</span>
        a{color:<span style="color: #008000;">#</span><span style="color: #008000;">039;text-decoration:none;}</span>
    531ac245ce3e4fe3d50054a55f265927 
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
        0d36329ec37a2cc24d42c7229b69747a 
        cf6cce2214cd0e86e9f01cf0b483d202 
        0c6dc11e160d3b678d68754cc175188a
        0fc8e013910b4077211b4ae090faef07这是一个超链接5db79b134e9f6b82c0b36e0489ee08ed
        0d36329ec37a2cc24d42c7229b69747a
    36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

 


第二種用echo輸出HTML。但是HTML中有雙引號,所用echo輸出的內容用單引號括起來,避免出錯,也省了轉義這一步。
例如這樣的程式碼: 
766f806be534e6a98e0ba8aafb1f4d11 
            服务器地址:52dabb280b186ae59d995f0e71e2860adf250b2156c434f3390392d09b1c9563 
            数据库账号:d9b789486e33fde421ef794acd2a32e9df250b2156c434f3390392d09b1c9563 
            数据库密码:b5b7df06174034373db579637844013edf250b2156c434f3390392d09b1c9563 
            指定数据库:97ad87bbe227aae2176a7f895cc5f039df250b2156c434f3390392d09b1c9563 
            2c4e50c2b4d96b03461bc57f2b93dbc9 
           f5a47148e367a6035fd7a2faa965022efa8fd94cc4b4d9671e4ee513ae2a31d1说明:a4b561c25d9afb9ac8dc4d70affff419……df250b2156c434f3390392d09b1c95630d36329ec37a2cc24d42c7229b69747a
         '<span style="color: #000000;">; 
    } 
</span>?>
不過比較多見的還是加了轉義符號的,個人覺得閱讀起來不爽 
echo "<input type=\"submit\" value=\"确定\"/>"

 


第三種就是用(
<<<EOT 
EOT;

 

中間的文檔直接輸出,一個比較好理解的說法是「一個多行的echo 」。 
優點是輸出大段HTML方便,不需要轉義,而且可以引用變數。
一個例子: 
f921592ab275cb36115bc9955dcccec0{<span style="color: #800080;">$label1</span>}16b28748ea4df4d9c2150843fecfba68 
        ea082fe063d2fb85c4f7b154a99b1f38 
        f10269d0a181654a51b450674b710f1e{<span style="color: #800080;">$label2</span>}16b28748ea4df4d9c2150843fecfba68 
        6e251a210fef10571a615963d2861c1a<span style="color: #000000;"> 
            {</span><span style="color: #800080;">$label3</span><span style="color: #000000;">} 
        </span>16b28748ea4df4d9c2150843fecfba68 
        48111e57b5e6b60926a83342c91e4f26<span style="color: #000000;"> 
            {</span><span style="color: #800080;">$label4</span><span style="color: #000000;">} 
        </span>16b28748ea4df4d9c2150843fecfba68 
        16b28748ea4df4d9c2150843fecfba68 
        ee26cb3e1a8d4074b8b8f6b76cfecd8c<span style="color: #800080;">$rs</span>[2]5db79b134e9f6b82c0b36e0489ee08ed<span style="color: #000000;"> 
EOT;
</span>?>

 


在上面的範例乾淨俐索的輸出了大段HTML+變數的值,非常棒。 
但是在使用(
標識符結束字串即EOT;要獨佔一行,前後都不許再有內容。 
PS.注意不但EOT;前面不能有空格,而且


尤其容易犯的失誤就是在標識符前面加上空格和縮進符,下面的例子什麼都不會輸出 

84e06808d3dc7595b89d3259f5c7aa0a东方天宇的博客5db79b134e9f6b82c0b36e0489ee08ed<span style="color: #000000;"><span style="color: #ff0000;"> 
[2]</span>EOT;<span style="color: #ff0000;">[3]
    </span></span><span style="color: #0000ff;">echo</span> "喂~人家在等你呢!"<span style="color: #000000;">; 
</span>?>

我們會發現,[如果三個地方任何一個地方加了空格],會顯示以下三種不同的錯誤提示,最後的echo也沒有執行。

    <span style="color: #008000;">//</span><span style="color: #008000;">[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</span>

這是因為(沒有找到標識符結束字符,將echo語句也包含到需要輸入的內容了。 

同時,因為沒有找到標識符結束字元所有的內容都不會輸出。 
當然,這只是我的理解,因為即使將echo語句放在print 前面,腳本也不會有內容內容。 
具體什麼原因,就留給大家去討論了。
 
 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP的開發環境下一篇:PHP的開發環境