Expression Webの使用方法

Expression Web 2およびExpression Web 4について解説します。

Expression Webの実行画面

資料

Expression Web 2 ショートカット一覧 (PDF形式)

検索

正規表現 (regular expression)

検索で使用できる正規表現は、検索ボックスの右上にあるボタンで一覧できます。
正規表現のリスト

Expression Webの正規表現はVisual Studioのそれと基本的に同一であり、より詳細なリストはテキスト検索のための正規表現 - MSDNにあります。

Perlの正規表現との相違
分類 説明 メタキャラクタ
Expression Web Perl
量指定子 0回以上のくり返し (最短位置) @ *?
1回以上のくり返し (最短位置) # +?
位置 ファイルの先頭 ^^ なし
ファイルの最後 $$ なし
文字クラス 対象外 ~x  
繰り返しの表現 ^n {n}
グループ化 グループ化 (後方参照のため) {} ()

サンプル

用途 検索する文字列 置換後の文字列
内部リンクの
index.htmの検索
href="[a-z/_\-\.]*index\.(htm|html|php)
なし
タグの属性の削除
<{[a-z]+}( [a-z]+="[^"]*")+
<\1
コードのコメントに
スタイルを適用
//.*
<span class="comment">\0</span>

検索条件の保存

検索と置換ウィンドウの右下にある「クエリの保存」で、検索条件を保存することができます。保存した検索条件は「クエリを開く」から簡単に呼び出せるため、正規表現による検索条件などを保存しておくと便利です。

クエリの保存アイコン

検索条件は既定では (C:\Documents and Settings\[UserName]\Application Data\Microsoft\Expression\Web 4\Queries) に、XMLファイルで保存されます。

検索条件の読み込みの失敗

「クエリ ファイル "C:\Documents and Settings\[UserName]\Application Data\Microsoft\Expression\Web 4\Queries\[クエリ名].fpq" の読み込みに失敗しました。ファイルが存在しないか、または無効な文字が含まれています。」のように表示され、読み込みに失敗する場合があります。

これは検索条件にダブルクォート ( " ) を含めた場合に、それが検索条件のXMLファイルにエスケープされずに保存されてしまうことにより発生します。これはXMLの規約に反するため、手作業で修正する必要があります。テキストエディタで当該のファイルを開き、「"」の記述を「&quot;」に変更します。

ダイナミックWebテンプレートのネスト

  1. 【ファイル → 新規作成】から、ダイナミックWebテンプレートを新規作成する。
  2. 【書式 → ダイナミックWebテンプレート → ダイナミックWebテンプレートの適用】から、親となるダイナミックWebテンプレートを選択する。

更新

ダイナミックWebテンプレートを更新しても、そこにネストされたダイナミックWebテンプレートが適用されたページまで更新されません。よってネストしている上位のページから、順番に更新する必要があります。

ページの文字コードをUTF-8にする

ページのエンコードの設定で「保存時のエンコード」を[Unicode (UTF-8)]として、[BOM (バイト オーダー マーク) を追加する]にチェックを入れます。

ページのプロパティの設定画面
【ファイル → プロパティ】の言語タブ

置換処理によるUTF-8 (BOMなし) への勝手な変更

検索対象を「すべてのページ」とした状態で置換を行うと、そのとき開かれていないファイルで置換が行われた場合に、そのファイルの文字コードがUTF-8 (BOMなし) に変更されてしまいます。

よってファイルの文字コードをUTF-8としている場合には、すべてのページを対象とした置換を行うべきではありません。

検索対象をすべてのページとする検索オプション

UTF-8 (BOMなし) のPHPファイルのUTF-8への勝手な変更

METAタグで文字コードが指定されていないUFT-8 (BOMなし) のPHPファイルは、保存時にUTF-8に変更されてしまいます。

これを回避する方法は、Expression Webを使用しないことです。PHPファイルは他のエディタで編集します。例えばNotepad++はコードを記述するのに適しています。

アドイン

Microsoft Expression Community Gallery