zoukankan      html  css  js  c++  java
  • html文件中插入php代码的几种方式

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

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

    第一种是在HTML中加PHP。大段大段的html代码中,在各个需要执行php的地方<?php .... ?>。这种方法在ASP的程序中比较常见。 
    例子: 
    [CODE_LITE] 
    <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>[/CODE_LITE] 

    第二种用echo输出HTML。但是HTML中有双引号,所用echo输出的内容用单引号括起来,避免出错,也省了转义这一步。比如这样的代码: 
    [CODE_LITE] 
    <?php 
    if(!$_POST) 

    echo '<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>'; 

    ?>[/CODE_LITE] 
    不过比较多见的还是加了转义符号的,个人觉得阅读起来不爽 
    [CODE_LITE]echo "<input type="submit" value="确定"/>" [/CODE_LITE] 

    第三种就是用(<<<)标记符了,这是在PHP168的模板代码中首次见到的。 
    [CODE_LITE]<<<EOT 
    EOT;[/CODE_LITE] 
    中间的文档直接输出,一个比较好理解的说法是“一个多行的echo ”。 
    优点是输出大段HTML方便,不需要转义,而且可以引用变量。一个例子: 
    [CODE_LITE] 
    <?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; 
    ?>[/CODE_LITE] 
    在上面的例子干净利索的输出了大段HTML+变量的值,非常棒。 
    但是在使用(<<<EOT) 
    标记符还有一点需要注意:标识符结束字符串既EOT;要独占一行,前后都不许再有内容。 

    尤其容易犯的失误就是在标识符前加空格和缩进符,下面的例子什么都不会输出 
    [CODE_LITE] 
    <?php 
    print <<<EOT 
    <a href="http://blog.i1728.com/" title="东方天宇的博客">东方天宇的博客</a> 
    EOT; 
    echo "喂~人家在等你呢!"; 
    ?>[/CODE_LITE] 
    我们会发现,最后的echo也没有执行。这是因为(<<<EOT) 
    没有找到标识符结束字符,将echo语句也包含到需要输入的内容了。 
    同时,因为没有找到标识符结束字符所有的内容都不会输出。 
    当然,这只是我的理解,因为即使将echo语句放在print <<<EOT 
    前面,脚本也不会有内容内容。 
    具体什么原因,就留给大家去讨论了。

  • 相关阅读:
    2019.6.20刷题统计
    36 线程 队列 守护线程 互斥锁 死锁 可重入锁 信号量
    35 守护进程 互斥锁 IPC 共享内存 的方式 生产者消费者模型
    34 进程 pid ppid 并发与并行,阻塞与非阻塞 join函数 process对象 孤儿进程与僵尸进程
    33 udp 域名 进程
    32 粘包 文件传输
    31 socket客户端. 服务器 异常 语法
    30 网络编程
    29 元类 异常
    26 封装 反射 常用内置函数
  • 原文地址:https://www.cnblogs.com/himitsu/p/4796049.html
Copyright © 2011-2022 走看看