WEB编程入门经典 HTML/CSS 第一章2
来源:互联网 发布:linux系统运维 编辑:程序博客网 时间:2024/04/27 14:44
本节继续上一节的乱码问题,以此展开学习php变量 php解析 CSS常见元素与属性等。
1.PHP中使用HTML注释
新建立一个study.php文件,内容如下:
<?php header("Content-Type: text/html;charset=utf-8");$aa = 1;//PHP注释?><?phpecho $aa;?><html> <head> <!--<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />--><title>My First PHP Program</title> </head> <body>中文是否是乱码 <h1 align="left">Left-Aligned Heading</h1> <p>This heading uses the align attribute with a value of left.</p> <h1 align="center">Centered Heading</h1> <p>This heading uses the align attribute with a value of center.</p> <h1 align="right">Right-Aligned Heading</h1> <p>This heading uses the align attribute with a value of right.</p></body></html>因为使用了header函数告诉浏览器文本的格式为UTF-8,所以上述文档保存为UTF-8无BOM格式时,中文显示正常。
将上面的第一段PHP代码使用HTML注释起来,会发现中文为乱码。照理说PHP解析的时候会忽视掉自己不认识的字符,将其原样交给HTML,对于其认识的代码会正常解析,echo $aa正常打印了1即可说明问题,那么为什么header函数没有起作用呢?查看网页源码如下:
<!--<br /><b>Warning</b>: Cannot modify header information - headers already sent by (output started at E:\wamp\www\study.php:1) in <b>E:\wamp\www\study.php</b> on line <b>2</b><br />-->1<html> <head> <!--<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />--><title>My First PHP Program</title> </head>
问题清楚了,正如上节所述,header函数之前有了输出“<!--”,所以会告警了。因为警告信息被包含在HTML注释之中,所以并未显示出来。这种使用HTML注释来进行错误保护的手法还是比较常见的。比如下面:
<!--<?php include "111.php";$aa = 1;//PHP注释?>--><?phpecho $aa;?>include一个根本不存在的文件会导致警告,HTML注释很好的掩盖了这一警告。仅能从源码中看到警告信息如下:
<!--<br /><b>Warning</b>: include(111.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in <b>E:\wamp\www\study.php</b> on line <b>2</b><br /><br /><b>Warning</b>: include() [<a href='function.include'>function.include</a>]: Failed opening '111.php' for inclusion (include_path='.;C:\php5\pear') in <b>E:\wamp\www\study.php</b> on line <b>2</b><br />-->1<html>
2.变量的作用域
从上面的例子可以看出,即便位于两段php代码之中,$aa同样有效。
<?php $aa = 1;?><?phpecho $aa."<br />";if($aa > 0){$bb = 0;}echo $bb."<br />";?>
这样$bb居然还是有效的,从C转过来的同学表示亚历山大啊,没办法这就是PHP。
<?php $aa = 1;?><?phpecho $aa."<br />";if($aa > 0){$bb = 0;}echo $bb."<br />";function fun(){//global $aa;echo $aa;}fun();?>这次将在函数中使用$aa,发现无法打印出$aa,因为外面定义的$aa在函数体中是无法访问的,若要访问则需要首先用global申明。如下:
<?php $aa = 1;?><?phpecho $aa."<br />";if($aa > 0){$bb = 0;}echo $bb."<br />";function fun(){global $aa;$aa += 1;}fun();echo $aa;?>
下面看看在include时,全局变量通过$GLOBALS[]来访问的例子。
<?php $aa = 1;?><?phpinclude "g06.php"?>
<?phpheader("Content-Type: text/html;charset=utf-8");echo "hello world!";echo $GLOBALS['aa']."<br />";echo $aa;?>因为include相当于将代码原样引入进来,所以是可以正常访问先前已经定义好的全局变量$aa的。使用$GLOBALS来引用,代码可读性更好。
3 常用的元素和属性
eg:
<h2>Example of the <listing>, <plaintext>, and <xmp> Elements</h2>
<pre name="code" class="html"><span style="font-family: FangSong_GB2312; ">展示的效果为:</span>
<span style="font-family: FangSong_GB2312; "></span><pre name="code" class="html"><h2>Example of the <listing>, <plaintext>, and <xmp> Elements</h2>
 ,>,$lt都是比较常用的。
eg:
<body background="images/background_large.gif" bgcolor="#f2f2f2">
<h2>Example of the background Attribute</h2>
</body>
background设置背景图片,bgcolor背景颜色,这些以后会在CSS中完成。#f2f2f2这个RGB是灰色的,还比较好看。
eg: ul/li的无需列表; ol/li的有序列表; table/th/tr/td的表格结构;dl/dt/dd这个层级列表有点意思
<dl><dt>我们在做列表标题</dt><dd>我们在做列表</dd><dt>我们在做列表标题</dt><dd>我们在做列表</dd><dd>我们在做列表</dd><dd>我们在做列表</dd></dl>
本章最后举了一个综合性的例子,涉及到外部CSS的引入,表布局 连接等。
0 0
- WEB编程入门经典 HTML/CSS 第一章2
- WEB编程入门经典 HTML/CSS 第一章1
- Web编程入门经典——HTML,XHTML,和CSS(第一章 练习题)
- Web编程入门经典——HTML,XHTML,和CSS(第二章 练习题)
- XHTML、CSS与javascript入门经典_第一章 为Web结构化文档
- C#入门经典第一章
- 【算法入门经典】 第一章
- HTML与CSS入门经典(第7版)(試讀)
- html与css入门经典(第8版)文摘
- HTML与CSS入门经典(第7版)-3.26-46
- HTML与CSS入门经典(第7版)-4.6-61
- HTML与CSS入门经典(第7版)-4.7-87
- HTML与CSS入门经典(第7版)-4.9-103
- HTML与CSS入门经典(第7版)-4.22-118
- HTML与CSS入门经典(第7版)-4.23-148
- HTML与CSS入门经典(第7版)-4.24-160
- HTML,CSS和JAVASCRIPT入门经典 笔记(一)
- HTML,CSS和JAVASCRIPT入门经典 笔记(二)
- BloomFilter——大规模数据处理利器
- 获取像素颜色(cocos2dx3.0)
- hdu5147----Sequence II
- 在学习java框架时,用myeclipse工具,写xml文件时,想让提示 配置如下:
- JMeter从入门到精通
- WEB编程入门经典 HTML/CSS 第一章2
- 在Linux上实现一个可用的stateless双向静态NAT模块
- vmware安装HMC教程
- 配置jdk时,java -version,没有问题,javac不能运行
- 最小生成树
- SPDY 是什么?如何部署 SPDY?
- 项目移植到android平台流程(cocos2dx3.0)
- Git--与众不同
- 第17周上机实践项目1——体会函数参数传递