了解 Dreamweaver 如何支持用于构建网站的不同编码语言。
在设计和开发功能完备的网站时,几种最常见的编程语言分别是用于前端的 HTML、HTML5 和 CSS,以及用于后端的 PHP、JavaScript、Java 和 jQuery。
您可以使用 CSS 跨网站设计网站的外观(例如,字体和颜色)。 然后可以使用 HTML 将图像、文本、视频、表格和其他内容插入到一个统一的网页。
结合使用 CSS 和 HTML,可以构建一个静态站点。 但是,大多数网站都需要某种形式的交互(例如需要客户填写表格或付款)以及存储所有网站数据的数据库。
要创建这些后端通信通道,您需要能够与数据库进行通信的服务器端编程语言(如 PHP)。
Dreamweaver 支持的编程语言
除了文本编辑功能外,Adobe Dreamweaver 还提供各种功能,例如代码提示,帮助您使用以下语言编写代码:
- HTML
- PHP
- CSS
- JavaScript
其他语言(如 Perl)不受 Dreamweaver 中特定语言编码功能的支持;例如,您可以创建和编辑 Perl 文件,但代码提示不适用于该语言。
自动代码修改
您可以设置选项,指示 Dreamweaver 根据您指定的条件自动清理手写代码。但是,除非启用代码重写选项或执行更改代码的操作,否则永远不会重写您的代码。例如,除非您使用"应用源格式"命令,否则 Dreamweaver 不会更改您的空格或更改属性的大小写。
有些代码改写选项在默认情况下处于启用状态。
Dreamweaver 中的往返 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) 文件之一 (严格、过渡或框架集)。 |
在 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>这 是一个<i>错误的示例。</p></i> <p>这是 一个<i>正确的示例。</i></p> |
生成嵌套正确的代码,并且在清理 XHTML 时,纠正并非由 Dreamweaver 生成的代码中的嵌套问题。 |
所有元素和属性名称必须是 小写。 |
强制 HTML 元素和属性名称 在其生成的 XHTML 代码中为小写,以及在清理 XHTML 时也为小写,无论您的标记和属性大小写偏好设置如何。 |
每个元素都必须有一个结束标记,除非在 DTD 中声明为空。 |
在其生成的代码中插入关闭标记,在清理 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>。 |
每当通过属性检查器设置 name 属性 时,将 name 和 id 属性 设置为相同的值,这适用于 Dreamweaver 生成的代码,以及在清理 XHTML 时。 |
对于枚举类型值的属性, 值必须是小写。 枚举类型值 是来自指定允许值列表中的值;例如, align 属性具有以下允许的值:center、justify、left, 和 right。 |
强制枚举类型值在生成的代码中以及清理 XHTML 时都为小写。 |
所有脚本和样式元素都必须有一个 type 属性。 (自 HTML 4 起,script 元素的 type 属性为必需属性,当时 language 属性已被弃用。) |
在其生成的代码中以及清理 XHTML 时,为 script 元素设置 type 和 language 属性,为 style 元素设置 type 属性。 |
所有 img 和 area 元素\n都必须具有 alt 属性。 |
在生成的代码中设置这些属性,在清理 XHTML 时,报告缺少的 alt 属性。 |
正则表达式
正则表达式是描述文本中字符组合的模式。在代码搜索中使用它们\n来帮助描述诸如以"var"开头的行和\n包含数字的属性值等概念。
下表列出了正则表达式中的特殊字符、其含义和用法示例。要搜索包含\n表中某个特殊字符的文本,请在特殊字符前面加上反斜杠来转义该特殊字符。例如,要在短语 some conditions apply* 中搜索实际的星号,您的搜索模式可能如下所示:apply\*。如果您不转义星号,您会找到"apply"的所有发生次数\n(以及"appl"、"applyy"和"applyyy"中的任何一个),\n而不仅仅是后跟星号的那些。
字符 |
匹配 |
示例 |
|---|---|---|
^ |
输入或行的起始部分。 |
^T 匹配"This\ngood earth"中的"T",但不匹配"Uncle Tom's Cabin"中的 |
$ |
输入或行的结尾部分。 |
h$ 匹配"teach"中的"h"\n,但不匹配"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] 最初匹配\n"orange"中的"r"、"book"中的"b"和"eek!"中的"k" |
\b |
词边界(例如空格或回车符)。 |
\\bb 匹配"book"中的"b"\n但不匹配"goober"或"snob"中的任何字符 |
\B |
词边界之外的任何内容。 |
\\Bb 匹配"goober"中的"b"\n但不匹配"book"中的任何字符 |
\d |
任何数字字符。 等效于 [0-9]。 |
\\d 匹配"C3PO"中的"3"\n和"apartment 2G"中的"2" |
\D |
任何非数字字符。 等效于 [^0-9]。 |
\\D 匹配"900S"中的"S"\n和"Q45"中的"Q" |
\f |
换页符。 |
|
\n |
换行符。 |
|
\r |
回车符。 |
|
\s |
任何单个空白字符,包括空格、制表符、换页符或换行符。 |
\\sbook 匹配\n"blue book"中的"book"但不匹配"notebook"中的任何字符 |
\S |
任何单个非空白字符。 |
\\Sbook 匹配\n"notebook"中的"book"但不匹配"blue book"中的任何字符 |
\t |
制表符。 |
|
\w |
任何字母数字字符,包括下划线。 等效于 [A-Za-z0-9_]。 |
b\\w* 匹配"the barking dog"中的"barking"\n和"the big black dog"中的"big"和"black" |
\W |
任何非字母数字字符。 等同于\n[^A-Za-z0-9_]。 |
\\W 匹配"Jake&Mattie"中的"&"\n和"100%"中的"%" |
Control+Enter 或 Shift+Enter(Windows)\n或 Control+Return 或 Shift+Return 或 Command+Return(Macintosh) |
回车符。 搜索时请确保取消选择\n"忽略空格差异"选项(如果\n不使用正则表达式)。请注意,这匹配的是特定字符,而非换行的一般概念;例如,它不匹配 <br> 标记或 <p> 标记。回车符在“设计”视图中显示为空格而不是换行符。 |
使用括号分隔正则表达式中的分组以供稍后引用。然后在"替换为"字段中使用 $1、$2、$3 等\n来引用第一个、第二个、第三个以及后续的括号\n分组。
在"搜索"框中,要引用正则表达式中\n较前面的括号分组,请使用 \\1、\\2、\\3 等\n而非 $1、$2、$3。
例如,搜索 (\\d+)\\/(\\d+)\\/(\\d+) 并将其替换为 $2/$1/$3,这将交换由斜杠分隔的日期中的日和月,从而在美式日期和欧式日期之间进行转化。
服务器行为代码
当您开发动态页面并从"服务器行为"面板中选择服务器行为时,Dreamweaver 会在您的页面中插入一个或多个代码块,以使服务器行为正常运行。
如果您手动更改代码块中的代码,您将无法再使用"绑定"和"服务器行为"等面板来编辑服务器行为。Dreamweaver 在页面代码中查找特定图案以检测服务器行为,并在"服务器行为"面板中显示这些行为。如果您以任何方式更改代码块的代码,Dreamweaver 将无法再检测到服务器行为并在"服务器行为"面板中显示它。但是,服务器行为仍存在于页面中,您可以在 Dreamweaver 的编码环境中对其进行编辑。