PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

[转]php和html混编的三种方式

原创
2016-08-15 16:49:41 1425浏览

php和html混编的三种方式

在W3school 上学PHP,看到第一句就是“PHP 文件可包含文本、HTML 标签以及脚本”

在后来的学习别人的代码,发现在需要HTML代码的PHP脚本中,多用这么几种方法

第一种是在HTML中加PHP。大段大段的html代码中,在各个需要执行php的地方。这种方法在ASP的程序中比较常见。
例子:
 
Hello Worldphp 
            echo "Hello world!这是正文"; 
        ?> 
        
# >这是一个超链接


第二种用echo输出HTML。但是HTML中有双引号,所用echo输出的内容用单引号括起来,避免出错,也省了转义这一步。
比如这样的代码:
php 
if(!$_POST) 
    { 
    echo '
服务器地址:
数据库账号:
数据库密码:
指定数据库:

说明:……
'; } ?>
不过比较多见的还是加了转义符号的,个人觉得阅读起来不爽
echo ""

 


第三种就是用(

中间的文档直接输出,一个比较好理解的说法是“一个多行的echo ”。
优点是输出大段HTML方便,不需要转义,而且可以引用变量。
一个例子:
php

    $label1 = "deepblue_mainslide";
    $label2 = "deepblue_mainh1";
    $label3 = "deepblue_maint1";
    $label4 = "deepblue_maint2";
    $rs = array("http://123.abc.com", "abc", "ABC");
 
    print EOT
        
class="slidecont">{$label1}
class="newcontainter">
class="head">{$label2}
class="cont" id="Tab1"> {$label3}
class="cont" id="Tab2"> {$label4}
$rs[0]" title="$rs[1]" target="_blank">$rs[2] EOT; ?>


在上面的例子干净利索的输出了大段HTML+变量的值,非常棒。
但是在使用(
标识符结束字符串即EOT;要独占一行,前后都不许再有内容。
PS.注意不但EOT;前面不能有空格,而且


尤其容易犯的失误就是在标识符前加空格和缩进符,下面的例子什么都不会输出

php 
    print EOT[1]
    东方天宇的博客 
[2]EOT;[3]
    echo "喂~人家在等你呢!"; 
?>

我们会发现,[如果三个地方任何一个地方加了空格],会显示以下三种不同的错误提示,最后的echo也没有执行。

    //[1]( ! ) Parse error: syntax error, unexpected '

这是因为(没有找到标识符结束字符,将echo语句也包含到需要输入的内容了。

同时,因为没有找到标识符结束字符所有的内容都不会输出。
当然,这只是我的理解,因为即使将echo语句放在print 前面,脚本也不会有内容内容。
具体什么原因,就留给大家去讨论了。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。