Jadual Kandungan
[转]php和html混编的三种方式
php和html混编的三种方式
在W3school 上学PHP,看到第一句就是“PHP 文件可包含文本、HTML 标签以及脚本”
在后来的学习别人的代码,发现在需要HTML代码的PHP脚本中,多用这么几种方法
第一种是在HTML中加PHP。大段大段的html代码中,在各个需要执行php的地方。这种方法在ASP的程序中比较常见。
例子:
在后来的学习别人的代码,发现在需要HTML代码的PHP脚本中,多用这么几种方法
第一种是在HTML中加PHP。大段大段的html代码中,在各个需要执行php的地方。这种方法在ASP的程序中比较常见。
例子:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="zh-CN"> <title>Hello World</title> <style><span style="color: #000000;"> body{font-size:15px;color:<span style="color: #008000;">#<span style="color: #008000;">000;font-family:Arial,Helvetica,sans-serif;} a{color:<span style="color: #008000;">#<span style="color: #008000;">039;text-decoration:none;} </style> <span style="color: #000000;">php </span><span style="color: #0000ff;">echo</span> "Hello world!这是正文"<span style="color: #000000;">; </span>?> <br> <a href="<span" style="color: #008000;">#<span style="color: #008000;"> >这是一个超链接</span></a>
Salin selepas log masuk
第二种用echo输出HTML。但是HTML中有双引号,所用echo输出的内容用单引号括起来,避免出错,也省了转义这一步。
比如这样的代码:
不过比较多见的还是加了转义符号的,个人觉得阅读起来不爽
第三种就是用(<<<)标记符了,这是在PHP168的模板代码中首次见到的。
<span style="color: #000000;">php </span><span style="color: #0000ff;">if</span>(!<span style="color: #800080;">$_POST</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">echo</span> '<span style="color: #000000;"><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> </span>'<span style="color: #000000;">; } </span>?>
Salin selepas log masuk
echo "<input type=\"submit\" value=\"确定\"/>"
Salin selepas log masuk
第三种就是用(<<<)标记符了,这是在PHP168的模板代码中首次见到的。
<<<EOT EOT;
Salin selepas log masuk
中间的文档直接输出,一个比较好理解的说法是“一个多行的echo ”。
优点是输出大段HTML方便,不需要转义,而且可以引用变量。
优点是输出大段HTML方便,不需要转义,而且可以引用变量。
一个例子:
<?<span style="color: #000000;">php </span><span style="color: #800080;">$label1</span> = "deepblue_mainslide"<span style="color: #000000;">; </span><span style="color: #800080;">$label2</span> = "deepblue_mainh1"<span style="color: #000000;">; </span><span style="color: #800080;">$label3</span> = "deepblue_maint1"<span style="color: #000000;">; </span><span style="color: #800080;">$label4</span> = "deepblue_maint2"<span style="color: #000000;">; </span><span style="color: #800080;">$rs</span> = <span style="color: #0000ff;">array</span>("http://123.abc.com", "abc", "ABC"<span style="color: #000000;">); </span><span style="color: #0000ff;">print</span> <<<<span style="color: #000000;">EOT </span><div <span style="color: #0000ff;">class</span>="slidecont">{<span style="color: #800080;">$label1</span>}</div> <div <span style="color: #0000ff;">class</span>="newcontainter"> <div <span style="color: #0000ff;">class</span>="head">{<span style="color: #800080;">$label2</span>}</div> <div <span style="color: #0000ff;">class</span>="cont" id="Tab1"><span style="color: #000000;"> {</span><span style="color: #800080;">$label3</span><span style="color: #000000;">} </span></div> <div <span style="color: #0000ff;">class</span>="cont" id="Tab2"><span style="color: #000000;"> {</span><span style="color: #800080;">$label4</span><span style="color: #000000;">} </span></div> </div> <a href="<span style="color: #800080;">$rs</span>[0]" title="<span style="color: #800080;">$rs</span>[1]" target="_blank"><span style="color: #800080;">$rs</span>[2]</a><span style="color: #000000;"> EOT; </span>?>
Salin selepas log masuk
在上面的例子干净利索的输出了大段HTML+变量的值,非常棒。
但是在使用(<<
标识符结束字符串即EOT;要独占一行,前后都不许再有内容。
PS.注意不但EOT;前面不能有空格,而且<<
尤其容易犯的失误就是在标识符前加空格和缩进符,下面的例子什么都不会输出
<?<span style="color: #000000;">php </span><span style="color: #0000ff;">print</span> <<<<span style="color: #000000;">EOT<span style="color: #ff0000;">[1] </span></span><a href="http://blog.i1728.com/" title="东方天宇的博客">东方天宇的博客</a><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>?>
Salin selepas log masuk
我们会发现,[如果三个地方任何一个地方加了空格],会显示以下三种不同的错误提示,最后的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>
Salin selepas log masuk
这是因为(没有找到标识符结束字符,将echo语句也包含到需要输入的内容了。
同时,因为没有找到标识符结束字符所有的内容都不会输出。当然,这只是我的理解,因为即使将echo语句放在print 前面,脚本也不会有内容内容。
具体什么原因,就留给大家去讨论了。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Assassin's Creed Shadows: Penyelesaian Riddle Seashell
2 minggu yang lalu
By DDD
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas
Tutorial CakePHP
1376
52

