有关在 Dreamweaver 中编码的常规信息
在设计和开发功能完备的网站时,几种最常见的编程语言分别是用于前端的 HTML、HTML5 和 CSS,以及用于后端的 PHP、JavaScript、Java 和 jQuery。
您可以使用 CSS 跨网站设计网站的外观(例如,字体和颜色)。然后可以使用 HTML 将图像、文本、视频、表格和其他内容插入到一个统一的网页。
结合使用 CSS 和 HTML,可以构建一个静态站点。但是,大多数网站都需要某种形式的交互(例如需要客户填写表格或付款)以及存储所有网站数据的数据库。
要创建这些后端通信通道,您需要能够与数据库进行通信的服务器端编程语言(如 PHP)。
Dreamweaver 支持的编程语言
除了提供文本编辑功能外,Adobe Dreamweaver 还提供了各种各样的功能(例如代码提示)帮助您使用以下语言来编写代码:
- HTML
- PHP
- XHTML
- CSS
- JavaScript
- ColdFusion 标记语言 (CFML)
Dreamweaver 的语言特定编码功能并不支持其它语言(如 Perl);例如,您可以创建和编辑 Perl 文件,但是代码提示不能应用于该语言。
自动代码修改
您可以设置选项指示 Dreamweaver 根据您指定的条件自动清理手工编写的代码。但是,不会改写您的代码,除非启用了代码改写选项或者您执行了更改代码的操作。例如,Dreamweaver 不会更改空白或更改属性的大小写,除非使用“应用源格式”命令。
有些代码改写选项在默认情况下处于启用状态。
通过 Dreamweaver 的 Roundtrip HTML 功能,您可以在基于文本的 HTML 编辑器和 Dreamweaver 之间来回移动文档,并且对文档的原始 HTML 源代码的内容和结构只有极小的影响或没有任何影响。这些功能包括:
- 使用第三方文本编辑器来编辑当前文档。
- 默认情况下,Dreamweaver 不更改在其它 HTML 编辑器中创建或编辑的代码(即使该代码无效),除非启用了代码改写选项。
- Dreamweaver 不更改它不识别的标签(包括 XML 标签),因为它不具有判断这些标签的条件。如果不可识别的标签重叠到另一个标签上(例如 <MyNewTag><em>text</MyNewTag></em>),Dreamweaver 将其标记为错误但并不改写代码。
- 您可以选择将 Dreamweaver 设置为在代码视图中高亮显示(用黄色)无效的代码。在您选择高亮显示的部分后,属性检查器将显示有关如何纠正该错误的信息。
XHTML 代码
Dreamweaver 采用能够满足大多数 XHTML 要求的方式生成新的 XHTML 代码并清理现有的 XHTML 代码。还提供了满足其余很少 XHTML 要求所需的工具。
注意:在 HTML 的各种版本中也要求满足其中一些要求。
下表说明了 Dreamweaver 能自动符合的 XHTML 要求:
XHTML 要求 | Dreamweaver 执行的操作 |
---|---|
文档中的根元素之前必须有 DOCTYPE 声明,而该声明必须引用 XHTML 的三个文档类型定义 (DTD) 文件(Strict、Transitional 或 Frameset)之一。 | 在 XHTML 文档中添加一个 XHTML DOCTYPE: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 或者,如果 XHTML 文档包含框架集: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
文档的根元素必须为 html,而 html 元素必须指定 XHTML 命名空间。 | 将 namespace 属性添加到 html 元素,如下所示: <html xmlns="http://www.w3.org/1999/xhtml"> |
标准文档必须包含 head、title 和 body 结构元素。框架集文档必须包含 head、title 和 frameset 结构元素。 | 在标准文档中,包含有 head、title 和 body 元素。在框架集文档中,包含有 head、title 和 frameset 元素。 |
文档中的所有元素必须正确嵌套: <p>This is a <i>bad example.</p></i> <p>This is a <i>good example.</i></p> | 生成正确嵌套的代码,并且在清理 XHTML 时更正代码中不是由 Dreamweaver 生成的嵌套。 |
所有元素和属性名称必须为小写。 | 在它所生成的 XHTML 代码中以及在清理 XHTML 时,不论您设置的标签和属性大小写首选参数如何,都强制使 HTML 元素和属性名称成为小写。 |
每个元素都必须有结束标签,除非在 DTD 中将其声明为 EMPTY。 | 在它所生成的代码中以及在清理 XHTML 时插入结束标签。 |
空元素必须有结束标签,或者开始标签必须结束于 />。 例如,<br> 无效,正确的形式是 <br></br> 或 <br/>。下面是空元素:area、base、basefont、br、col、frame、hr、img、input、isindex、link、meta 和 param。 为了向后兼容不支持 XML 的浏览器,/> 前必须有一个空格(例如,<br />,而不是 <br/>)。 | 在它所生成的代码中以及在清理 XHTML 时插入空元素,并且在空标签中的结束斜杠前添加一个空格。 |
属性不能最小化;例如 <td nowrap> 是无效的;正确的形式是 <td nowrap="nowrap">。 它会影响以下属性:checked、compact、declare、defer、disabled、ismap、multiple、noresize、noshade、nowrap、readonly 和 selected。 | 在它所生成的代码中以及在清理 XHTML 时,插入完整的属性/值对。 注意:如果 HTML 浏览器不支持 HTML 4,则当这些布尔属性以完整形式出现时,该浏览器可能无法解释这些属性。 |
所有的属性值必须用引号引起来。 | 在它所生成的代码中以及在清理 XHTML 时,将属性值用引号引起来。 |
以下元素必须要有 id 属性以及 name 属性:a、applet、 form、frame、iframe、img 和 map。例如,<a name="intro">Introduction</a> 无效;正确的形式为 <a id="intro">Introduction</a> 或 <a id="section1" name="intro"> Introduction</a>。 | 在 Dreamweaver 所生成的代码中以及在清理 XHTML 时,只要属性检查器设置 name 属性,就会将 name 和 id 属性设置为相同的值。 |
对于具有枚举类型的值的属性,值必须为小写。 枚举型的值是来自于指定的允许值列表中的值;例如 align 属性有以下允许值:居中、两端对齐、左对齐和右对齐。 | 在它所生成的代码中以及在清理 XHTML 时,强制枚举类型的值成为小写。 |
所有脚本和样式元素都必须有 type 属性。 (自 HTML 4 开始已经要求 script 元素具有 type 属性,而 language 属性在此期间则使用的越来越少。) | 在它生成的代码中以及在清理 XHTML 时,设置 script 元素的 type 和 language 属性以及 style 元素的 type 属性。 |
所有 img 和 area 元素都必须具有 alt 属性。 | 在它生成的代码中设置这些属性,并且在清理 XHTML 时报告缺少的 alt 属性。 |
正则表达式
正则表达式是以文本描述字符组合的模式。在代码搜索中使用它们有助于描述一些概念,例如,以“var”开始的行以及包含数字的属性值。
下表列出了在正则表达式中使用的特殊字符、其含义和用法示例。若要搜索包含该表中某一特殊字符的文本,请在特殊字符前面附加一个反斜杠,令其转义。例如,若要在 some conditions apply* 短语中搜索实际的星号,您的搜索模式应类似于:apply\*。如果您没有令星号转义,您将找到“apply”的所有匹配项(以及“appl”、“applyy”和“applyyy”的所有匹配项),而不只是后面跟有星号的那些匹配项。
字符 | 匹配 | 示例 |
---|---|---|
^ | 输入或行的起始部分。 | ^T 与“This good earth”中的“T”匹配,但是与“Uncle Tom’s Cabin”无匹配内容 |
$ | 输入或行的结尾部分。 | h$ 与“teach”中的“h”匹配,但是与“teacher”无匹配内容 |
* | 0 个或多个前置字符。 | um* 与“rum”中的“um”、“yummy”中的“umm”和“huge”中的“u”匹配 |
+ | 1 个或多个前置字符。 | um+ 与“rum”中的“um”和“yummy”中的“umm”匹配,但是和“huge”无匹配内容 |
? | 前置字符最多出现一次(即,指示前置字符是可选的)。 | st?on 与“Johnson”中的“son”和“Johnston”中的“ston”匹配,但是与“Appleton”或“tension”无匹配内容 |
. | 除换行符外的任何单字符。 | .an 与“bran muffins can be tasty”短语中的“ran”和“can”匹配 |
x|y | x 或 y。 | FF0000|0000FF 与 bgcolor=”#FF0000” 中的“FF0000”和 font color=”#0000FF” 中的“0000FF”匹配 |
{n} | 恰好 n 个前置字符。 | o{2} 与“loom”中的“oo”和“mooooo”中的前两个字母 o 匹配,但是与“money”无匹配内容 |
{n,m} | 至少 n 个、至多 m 个前置字符。 | F{2,4} 与“#FF0000”中的“FF”和“#FFFFFF”中的前四个字母 F 匹配 |
[abc] | 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如,[a-f] 等效于 [abcdef])。 | [e-g] 与“bed”中的“e”、“folly”中的“f”和“guard”中的“g”匹配 |
[^abc] | 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 | [^aeiou] 最初与“orange”中的“r”、“book”中的“b”和“eek!”中的“k”匹配 |
\b | 词边界(例如空格或回车符)。 | \bb 与“book”中的“b”匹配,但是与“goober”或“snob”无匹配内容 |
\B | 词边界之外的任何内容。 | \Bb 与“goober”中的“b”匹配,但是与“book”无匹配内容 |
\d | 任何数字字符。等效于 [0-9]。 | \d 与“C3PO”中的“3”和“apartment 2G”中的“2”匹配 |
\D | 任何非数字字符。等效于 [^0-9]。 | \D 与“900S”中的“S”和“Q45”中的“Q”匹配 |
\f | 换页符。 | |
\n | 换行符。 | |
\r | 回车符。 | |
\s | 任何单个空白字符,包括空格、制表符、换页符或换行符。 | \sbook 与“blue book”中的“book”匹配,但是与“notebook”无匹配内容 |
\S | 任何单个非空白字符。 | \Sbook 与“notebook”中的“book”匹配,但是与“blue book”无匹配内容 |
\t | 制表符。 | |
\w | 任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 | b\w* 与“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”匹配 |
\W | 任何非字母数字字符。等效于 [^A-Za-z0-9_]。 | \W 与“Jake&Mattie”中的“&”和“100%”中的“%”匹配 |
Ctrl+Enter 或 Shift+Enter (Windows)、或者 Ctrl+Return 或 Shift+Return 或 Command+ Return (Macintosh) | 回车符。确保如果没有使用正则表达式,则在搜索时取消对“忽略空白差别”的选择。请注意,该字符是特定字符,而不是一般意义上的换行符;例如,它并不是 <br> 标签或 <p> 标签。回车符在“设计”视图中显示为空格而不是换行符。 |
使用括号在正则表达式内分隔出以后要引用的分组。然后在“替换”域中使用 $1、$2、$3 等来引用第一个、第二个、第三个和更后面的括号分组。
注意:在“查找内容”框中使用 \1、\2、\3 等(而不是 $1、$2、$3)来引用正则表达式中更早的括号分组。
例如,通过搜索 (\d+)\/(\d+)\/(\d+) 并用 $2/$1/$3 替换它,可以在由斜杠分隔的日期中交换日和月(因此可以在美国样式日期和欧洲样式日期之间进行转换)。
服务器行为代码
在您开发动态页并从“服务器行为”面板中选择一个服务器行为时,Dreamweaver 将一个或多个代码块插入您的页面,以使服务器行为可以行使其功能。
如果手动更改代码块中的代码,则无法再使用“绑定”和“服务器行为”等面板编辑服务器行为。Dreamweaver 在页代码中查找特定的模式,以检测服务器行为并在“服务器行为”面板中显示它们。如果您以任何方式更改了代码块中的代码,Dreamweaver 将无法再检测服务器行为并在“服务器行为”面板中显示它。但是,服务器行为仍存在于该页面上,并且您可以在 Dreamweaver 的编码环境中编辑它。
更多此类内容
- 代码提示和代码完成
- 设置编码首选参数
- 自定义快捷键
- 使页符合 XHTML
- 查找和替换文本
- 为可视化开发优化工作区
- 显示数据库记录