置き換えについて
$this->optint_1 = $row[""]; $this->optint_2 = $row[""]; $this->optint_3 = $row[""]; $this->optint_4 = $row[""]; $this->optint_5 = $row[""]; $this->optxt_1 = $row[""]; $this->optxt_2 = $row[""]; $this->optxt_3 = $row[""];上記のようなコードがあったとして、 $row[""]の中に、$thisの同じプロパティを入れて行きたいという場合があったとします。
(一行目でいえばoptint_1を指し、完成予想は $this->optint_1 = $row["optint_1"]; となる )
さて、このような場合、どうするのが手っ取り早いでしょうか? 一行づつ、プロパティ部分をコピーしてペーストしてゆくのがよいでしょうか? それではコピー間違いもあるでしょうし、手間もかかります。 ここではDreamWeaverの置換え機能を利用します。 通常では置換えではこのような、一行ごとに違う内容を置換えすることができませんが、 「検索および置換え」ダイアログの下のほうにある「正規表現を利用」にチェックをいれることで強力な置換え機能を利用できます。
まず検索フィールドには正規表現を利用します。 検索のテキストエリアには
this\->([0-9a-zA-Z\_]+) = \$row\[""\]と入力します。次に置換えのテキストエリアに
this->$1 = $row["$1"]と入力します。後は置換え(すべて置換え)ボタンを押す事で置換えがなされます。 これにより結果として
$this->optint_1 = $row["optint_1"]; $this->optint_2 = $row["optint_2"]; $this->optint_3 = $row["optint_3"]; $this->optint_4 = $row["optint_4"]; $this->optint_5 = $row["optint_5"]; $this->optxt_1 = $row["optxt_1"]; $this->optxt_2 = $row["optxt_2"]; $this->optxt_3 = $row["optxt_3"];というように希望の形にできたかと思います。 これは、検索において ( ) 括弧にてくくった内容を置換えにおいて $1 という指定によって参照させているからです。 検索に () が複数ある場合はその順序にしたがって $1 , $2 , $3 ・・・という具合に数字を増やしてゆきます。 なお、検索フィールドには正規表現を利用しますが、置換えフィールドには参照(ここでは$1)だけ利用し、正規表現は利用しないことに注意してください。
2009年 7月 30日ドキュメント作成
2009年 7月 30日ドキュメント更新