关于在 Dreamweaver 中编码

上次更新日期: 2021年4月27日

了解 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">

标准文档必须具有 headtitlebody 结构元素。框架集文档 必须具有 headtitleframeset 结构 元素。

在标准文档中,包括 headtitlebody 元素。在框架集文档中,包括 headtitleframeset 元素。

文档中的所有元素必须正确嵌套:

<p>这 是一个<i>错误的示例。</p></i> <p>这是 一个<i>正确的示例。</i></p>

生成嵌套正确的代码,并且在清理 XHTML 时,纠正并非由 Dreamweaver 生成的代码中的嵌套问题。

所有元素和属性名称必须是 小写。

强制 HTML 元素和属性名称 在其生成的 XHTML 代码中为小写,以及在清理 XHTML 时也为小写,无论您的标记和属性大小写偏好设置如何。

每个元素都必须有一个结束标记,除非在 DTD 中声明为空。

在其生成的代码中插入关闭标记,在清理 XHTML 时也插入关闭标记。

空元素必须有一个关闭标记, 或者开始标记必须以 /> 结尾。例如,<br> 是 无效的;正确的形式是 <br></br><br/>。 以下是空元素:areabasebasefontbrcolframehrimginputisindexlinkmeta, 和 param

为了向后兼容 不支持 XML 的浏览器,在 /> 前必须有一个空格(例如,<br />,而不是 <br/>)。

在其生成的代码中,在空标记的关闭斜杠前插入空格, 以及在清理 XHTML 时也是如此。

属性不能最小化;例如,<td nowrap> 是 无效的;正确的形式是 <td nowrap="nowrap">

这 影响以下属性:checkedcompactdeclaredeferdisabledismapmultiplenoresizenoshadenowrapreadonly, 和 selected

在其生成的代码中插入完整的属性-值对, 以及在清理 XHTML 时也是如此。

注意: 如果 HTML 浏览器不支持 HTML 4,当这些布尔值属性以完整形式出现时,可能无法解释它们。

所有属性值都必须用引号括起来。

在生成的代码中为属性值添加引号,并在清理 XHTML 时执行相同操作。

以下元素必须具有 id 属性 以及 name 属性:aappletformframeiframeimg, 和 map。例如,<a name="intro">Introduction</a> 是 无效的;正确的形式是

<a id="intro">Introduction</a><a id="section1" name="intro"> Introduction</a>

每当通过属性检查器设置 name 属性 时,将 nameid 属性 设置为相同的值,这适用于 Dreamweaver 生成的代码,以及在清理 XHTML 时。

对于枚举类型值的属性, 值必须是小写。

枚举类型值 是来自指定允许值列表中的值;例如, align 属性具有以下允许的值:centerjustifyleft, 和 right

强制枚举类型值在生成的代码中以及清理 XHTML 时都为小写。

所有脚本和样式元素都必须有一个 type 属性。

(自 HTML 4 起,script 元素的 type 属性为必需属性,当时 language 属性已被弃用。)

在其生成的代码中以及清理 XHTML 时,为 script 元素设置 typelanguage 属性,为 style 元素设置 type 属性。

所有 imgarea 元素\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 的编码环境中对其进行编辑。