Inhaltsverzeichnis
[转]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>
Nach dem Login kopieren
第二种用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>?>
Nach dem Login kopieren
echo "<input type=\"submit\" value=\"确定\"/>"
Nach dem Login kopieren
第三种就是用(<<<)标记符了,这是在PHP168的模板代码中首次见到的。
<<<EOT EOT;
Nach dem Login kopieren
中间的文档直接输出,一个比较好理解的说法是“一个多行的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>?>
Nach dem Login kopieren
在上面的例子干净利索的输出了大段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>?>
Nach dem Login kopieren
我们会发现,[如果三个地方任何一个地方加了空格],会显示以下三种不同的错误提示,最后的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>
Nach dem Login kopieren
这是因为(没有找到标识符结束字符,将echo语句也包含到需要输入的内容了。
同时,因为没有找到标识符结束字符所有的内容都不会输出。当然,这只是我的理解,因为即使将echo语句放在print 前面,脚本也不会有内容内容。
具体什么原因,就留给大家去讨论了。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
Assassin's Creed Shadows: Seashell Riddle -Lösung
2 Wochen vor
By DDD
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen
CakePHP-Tutorial
1376
52

