〖1.1〗 《↓【————HTML基础概括篇★】
【1.HTML 简介★
实例 ps:说一句,作者太帅了
My first paragraph.
亲自试一试 什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) 标记语言是一套标记标签 (markup tag) HTML 使用标记标签来描述网页 HTML 标签 HTML 标记标签通常被称为 HTML 标签 (HTML tag)。 HTML 标签是由尖括号包围的关键词,比如 HTML 标签通常是成对出现的,比如 和 标签对中的第一个标签是开始标签,第二个标签是结束标签 开始和结束标签也被称为开放标签和闭合标签 HTML 文档 = 网页 HTML 文档描述网页 HTML 文档包含 HTML 标签和纯文本 HTML 文档也被称为网页 Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容:
My first paragraph.
例子解释
与 之间的文本描述网页 与 之间的文本是可见的页面内容与
之间的文本被显示为段落】 【2.基本的 HTML 标签 - 四个实例★ 本章通过实例向您演示最常用的 HTML 标签。 提示:不要担心本章中您还没有学过的例子,您将在下面的章节中学到它们。 提示:学习 HTML 最好的方式就是边学边做实验。我们为您准备了很好的 HTML 编辑器。使用这个编辑器,您可以任意编辑一段 HTML 源码,然后单击 TIY 按钮来查看结果。 HTML 标题 HTML 标题(Heading)是通过标签进行定义的。 实例
This is a paragraph.
This is another paragraph.
亲自试一试 HTML 链接 HTML 链接是通过 标签进行定义的。 实例 This is a link 亲自试一试 注释:在 href 属性中指定链接的地址。 (您将在本教程稍后的章节中学习更多有关属性的知识)。 HTML 图像 HTML 图像是通过 标签进行定义的。 实例 亲自试一试 注释:图像的名称和尺寸是以属性的形式提供的。】 【3.HTML 元素★ HTML 文档是由 HTML 元素定义的。 HTML 元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。 开始标签 元素内容 结束标签This is a paragraph
This is a linkThis is my first paragraph.
上面的例子包含三个 HTML 元素。 HTML 实例解释元素:
This is my first paragraph.
这个元素定义了 HTML 文档中的一个段落。 这个元素拥有一个开始标签
,以及一个结束标签
。 元素内容是:This is my first paragraph。 元素:This is my first paragraph.
元素定义了 HTML 文档的主体。 这个元素拥有一个开始标签 ,以及一个结束标签 。 元素内容是另一个 HTML 元素(p 元素)。 元素:This is my first paragraph.
元素定义了整个 HTML 文档。 这个元素拥有一个开始标签 ,以及一个结束标签 。 元素内容是另一个 HTML 元素(body 元素)。 不要忘记结束标签 即使您忘记了使用结束标签,大多数浏览器也会正确地显示 HTML:This is a paragraph
This is a paragraph
上面的例子在大多数浏览器中都没问题,但不要依赖这种做法。忘记使用结束标签会产生不可预料的结果或错误。
注释:未来的 HTML 版本不允许省略结束标签。
空的 HTML 元素
没有内容的 HTML 元素被称为空元素。空元素是在开始标签中关闭的。
就是没有关闭标签的空元素(
标签定义换行)。
在 XHTML、XML 以及未来版本的 HTML 中,所有元素都必须被关闭。
在开始标签中添加斜杠,比如
,是关闭空元素的正确方法,HTML、XHTML 和 XML 都接受这种方式。
即使
在所有浏览器中都是有效的,但使用
其实是更长远的保障。
HTML 提示:使用小写标签
HTML 标签对大小写不敏感:
等同于
。许多网站都使用大写的 HTML 标签。 W3School 使用的是小写标签,因为万维网联盟(W3C)在 HTML 4 中推荐使用小写,而在未来 (X)HTML 版本中强制使用小写。】 【4.HTML 属性★ 属性为 HTML 元素提供附加信息。 HTML 属性 HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息。 属性总是以名称/值对的形式出现,比如:name="value"。 属性总是在 HTML 元素的开始标签中规定。 属性实例 HTML 链接由 标签定义。链接的地址在 href 属性中指定: This is a link 亲自试一试 更多 HTML 属性实例 属性例子 1:
Main Title of Web Page |
|
Menu HTML CSS JavaScript |
Content goes here |
Copyright W3School.com.cn |
\n"; readfile("/usr/local/lib/php3.ini"); echo "\n"; } ?> 第两种是除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下 if (expr) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
\n"; readfile($f); echo "\n"; } else echo "很抱歉,找不到 $f"; ?> 第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。 直接看下面的例子 $b) { echo "a 比 b 大"; } elseif ($a == $b) { echo "a 等于 b"; } else { echo "a 比 b 小"; } ?> 上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else 循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。】 【do..while 循环★ do..while 是重复叙述的循环,可以分成两种模式。 最单纯的就是只有 while 的循环。用来在指定的条件内,不断地重覆指定的步骤。语法如下 while (expr) { statement } 其中的 expr 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 下例很有趣,要电脑的浏览器出现十次 "以后不敢了" 的字符串,前面并加上数字,表示说了第几次不敢了。(感觉好像是 Web Server 做错事被处罚) \n"; } ?> while 可以不用大括号来包住执行部分,而使用冒号加上 endwhile。见下例 \n"; endwhile; ?> 另外一种 do..while 循环则先执行,再判断是否要继续执行,也就是说循环至少执行一次,有点像是先斩后奏的方法。这种的循环,和单用 while 是不同的 (单用 while 是先判断再处理)。若读者熟 Pascal 语言的话,会发现 do..while 循环像是 Pascal 的 repeat..until 循环。 do..whilte 的语法如下 do { statement } while (expr);】 【for 循环 ★ for 循环就单纯只有一种,没有变化,它的语法如下 for (expr1; expr2; expr3) { statement } 其中的 expr1 为条件的初始值。expr2 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。expr3 为执行 statement 后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 下例是用 for 循环写的 "以后不敢了" 的例子,可以拿来和用 while 循环的比较。 \n"; } ?> 从上例中,可以很明显的看到,用 for 和用 while 的不同。实际应用上,若循环有初始值,且都要累加(或累减),则使用 for 循环比用 while 循环好。例如将资料从数据库取出,可能用 for 循环会比用 while 循环适合?】 【switch 循环 ★ switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。 语法如下 switch (expr) { case expr1: statement1; break; case expr2: statement2; break; : : default: statementN; break; } 其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。】 【其它的流程控制 ★ 除了上面的流程控制指令之外,尚有 break 及 continue 两个流程控制指令。 break 用来跳出目前执行的循环,如下例 continue 立即停止目前执行循环,并回到循环的条件判断处,见下例 而 BASIC 常用的 goto 在 C 及 Borland Pascal 中或许可以使用。但在 PHP 中,由于它的 Web Server Script 特性以及结构化的组成,并不能在 PHP 中使用 goto 循环指令?】 【函数 ★ 在 PHP 中,允许程序设计者将常用的流程或者变量等元件,组织成一个固定的格式。也就是说用户可以自行组合函数或者是类。 PHP 中的函数 (function) 和 C 语言一样,包括有返回值及无返回值,不像 Pascal 分成函数 (function) 和程序 (procedure) 那么复杂。 在函数的名称上,PHP 对于大小写的管制很松散。可以在定义函数时写成大写的名字,而在使用时使用小写的名字。总之,对函数而言,不用管大小写,只要注意名称没有重复就好了。 以下就是函数的使用语法 function myfunc($arg_1, $arg_2, ..., $arg_n) { // 执行一些步骤 return $retval; } 在使用时,在自定的函数名称前要加入 function 的保留字,表示这是定义用户自定函数。之后的 myfunc 可以是任何的英文字母开头的字符串,字符串除了开头不能是数字或是下划线,在第一个字母后可以是阿拉伯数字或者是下划线,当然其它的符号或是中文字不能当函数名。 $arg_1 到 $arg_n 为函数使用的参数,参数之间使用逗号隔开。在参数后的大括号 {},即为整个函数的部分。函数如果返回值,使用 return 可将值返回。而参数可以事先定义初始值或默认值。有定义默认值参数在使用函数时可以省略,但一定要放在没有配置默认值参数的后面,否则 PHP 在解析函数时,会出现错误。 另外就是参数的类型,只要参数是 PHP 支持的变量类型都可以使用,无论是数组、字符串、或是整数....等等。返回值也是一样。 下面即为使用默认值及不用默认值例子 \n"; } myfunc(3, 4); // 参数 $arg_3 省略。 myfunc(6, 6, "不用默认值") // 输入参数 $arg_3。 ?> 参数的值,通常使用传值方式输入,有时在值得的需求时,可以使用传址的方式,传入参数的指针。方法就是在参数的前面加上 & 符号即可。如下例 】 【类 ★ 用户定义的类,也是学好 PHP 所必备的条件之一。而 PHP 的类,和其它的面向对象语言比较起来,还算蛮单纯的。PHP 只有类别 (class)、方法 (method)、属性、以及单一继承 (extensions) 等。对不习惯使用 C 、Java、Delphi 等面向对象语言来开发程序的用户,不妨先阅读一下有关面向对象概念的书,相信可以带来许多的收获。 下面的范例是手推车类。可以看到,使用 class 表示它是一个类类别。在类别中的 function,例如 add_item 则表示该类的一个方法。方法可以封装类的实际处理情形,让该类自己能依封装好的方法来执行一些步骤。 程序中的 $this 类变量也和 $GLOBALS 及 $php_errormsg 两个变量一样,在 PHP 中属于特殊的变量。$this 变量只用在类类别中,表示类的本身。 items[$artnr] = $num; } // 本方法从手推车减少 $num 件物品 (从 $artnr 变量减掉) function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } else { return false; } } } ?> 要使用手推车可以用类似下例的方式。可以先将每个类存成 Include 文件,再将它 require 或 include 进来。在定义变量 $cart 时,要使用 new 的保留字,表示 $cart 使用 Cart 类。使用 -> 符号,表示执行类的方法。 add_item("10", 1); ?> 之后再设计有记名的手推车。记名手推车从手推车遗传下来,因此手推车拥有的方法及属性,记名手推车也有,而记名手推车比手推车增加了名字的方法 (或许该称属性较恰当)。 从下例中可以看到,子类 Named_Cart 使用 extends 来继承其父类 Cart。虽然 Named_Cart 类中没有增加物品及减少物品的方法,不过由于遗传的特性,父类有的东西它都有。 owner = $name; } } ?> 要使用记名手推车类,请看下面的范例。当然这不算太好的设计,每个子类都一直 require 它的父类,会造成服务器在 I/O 上面的负担。在实作时,可以将整个系列的类在同一个程序文件中,从最早的袓先类到最后的子孙类,也方便日后修正。 set_owner ("CyberRidder"); // 配置类的记名属性 echo $ncart->owner; // 显示类的记名属性 $ncart->add_item ("10", 1); // 从父类遗传的方法也可使用 ?> 因此,在 PHP 中使用了 extends 保留字,加上良好的系统分析与完整的 CRC 卡片 (详见面向对象相关书籍) 设计之后,PHP 可变成拥有强大类能力的 CGI 语言。 PHP 由于是脚本语言 (Script),因此程序源代码可见,在软件工程中的元件黑箱并不会在目前的 PHP 版本中出现,也就是说,全部的类其实没有隐藏起它的内容。对于软件业者而言,没有办法保护所谓的软件 IC,站在开放团体而言,反而有源代码是件好事,至于孰是孰非,就很难判定了,不过目前 PHP 还是 Open Source 团体的一份子,或许日后 Zend 引擎可以做到类封装的功能也不一定。】 【函数库及函数 ★ 本章中的函数涵盖 PHP 3.0.11 版前的所有函数。 函数的格式如下: 函数库名称 函数名称 函数功能简述。 语法: 返回类型 函数名称(类型 参数1, 类型 参数2....); 返回值: 变量类型 函数种类: 例如: 数据库, 网络..等等 内容说明 函数说明详述内容 使用范例 函数的范例 (本栏可能省略) 参考 小节索引 函数名称, 小节索引 函数名称... (本栏可能省略) 以下为 PHP 的相关函数库 Adabas D 数据库链接函数库 apache服务器专用函数库 数组处理函数库 拼写检查函数库 BC 高精确度函数库 历法函数库 ClibPDF 函数库 日期与时间函数库 DBA 函数库 dBase 格式资料表函数库 dbm 类数据库函数库 目录管理函数库 动态链接函数库 程序执行功能函数库 FDF 函数库 filePro 数据库函数库 文件系统函数库 HTTP 相关函数库 Hyperwave 服务器函数库 图形处理函数库 IMAP 电子邮件系统函数库 PHP 选项及相关信息函数库 Informix 数据库函数库 InterBase 数据库函数库 LDAP 目录协议函数库 电子邮件函数库 数学运算函数库 mcrypt 编码函数库 mhash 哈稀函数库 杂项函数库 mSQL 数据库函数库 SQL Server 数据库函数库 MySQL 数据库函数库 Sybase 数据库函数库 网络函数库 NIS 函数库 ODBC 数据库链接函数库 Oracle 8 数据库函数库 Oracle 数据库函数库 Perl 相容语法函数库 PDF 格式文件函数库 PostgreSQL 数据库函数库 正则表达式函数库 信号与共享内存函数库 Solid 数据库链接函数库 SNMP 网管函数库 字符串处理函数库 URL 处理函数库 变量处理函数库 Vmailmgr 邮件处理函数库 WDDX 函数库 压缩文件函数库 XML 解析函数库 Session 函数库 GNU 记录函数库 FTP 文件传输函数库 MCAL 模块日历存取函数库 ps:具体讲解在1.3版本写好 】▽ ■【也在努力中,,★】□》