-
2007年03月06日Dreamweaver の置換コマンドを作成する
Dreameweaver の置換コマンドの中でも、簡単に作れる置換コマンドの作り方を説明します。
以前のエントリーにある、全角カタカナを半角カタカナにするコマンドと同じ考え方で、記号や文字列など、様々なものを変換できます。
全角カタカナを半角カタカナにするような、普遍的な使いか対外にも、サイトごとのルールに沿って、そのサイト専用の置換コマンドを作ることも可能です。※動作検証は、Dreamwever MXで行っています。MX2004、8では動作検証していませんので、ご注意ください。
■準備
1.置換コマンド作成セット(ChikanCommand2.zip)をダウンロードして、任意の場所に解凍。
◇圧縮ファイルの内容:
・zenei_suuji_hankana.htm(コマンドの変換内容を記載)
・zenei_suuji_hankana.mxi(Dreにインストールする際のmxpファイルを作成するためのもの)
・変換テスト.htm(変換が実際にできるかテストするためのもの)※2009年4月10日追記
・コメントにあるように、置換内容の「パピプペポ」の行が「バビブベボ」に変換される問題を修正。■ファイルの書き換え
1.変換する文字・文字列の返還前、変換後の文字・文字列を用意します。
例1)全角「%」を半角「%」に変更したい場合
変換前:%
変換後:%例2)CO2をCO2としたい場合
変換前:CO2
変換後:CO2\<sup\>2\</sup\>
※正規表現を使用するため、マークアップ記号の前には、\マークを付ける必要があります。2.zenei_suuji_hankana.htm の変更
・ファイル名を、変換する内容がわかる内容に変更します。・内容を変更します。
◇変更する場所
・3行目:タイトルを変換する内容がわかる内容に変更します。
・17行目:ここにかかれた文言が、このコマンドの内容として表示されます。
・26行目と27行目:26行目が、変換前の文字・文字列、27行目が変換後の文字・文字列となります。
※順番に変換前と変換後が対になっていますので、ずれ内容に注意してください。
・35行目:変換を行った際に表示される文言です。
・37行目:変換を行っても、対象の文字・文字列が無かった場合に表示される文言です。zenei_suuji_hankana.htm
<html> <head> <title>全角英字・全角数字・半角カタカナを半角英字・半角数字・全角カタカに変換</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> <!-- //このコマンドが使える状態かどうかをチェックする関数 function canAcceptCommand() { return ( dw.getDocumentDOM() && dw.getDocumentDOM().getParseMode() == 'html' && (dw.getFocus() == 'document' || dw.getFocus(true) == 'html' || dw.getFocus() == 'textView' ) ); }//このコマンドのタイトル
function setMenuText()
{
return "変換:全角英字・全角数字・半角カタカナを半角英字・半角数字・全角カタカナへ";
}//クリーンナップ実行関数
function startCleanUp(){
cleanUpCount = 0;
var theDOM = dw.getDocumentDOM();
var html = theDOM.documentElement.outerHTML;var hanKana = new Array("A","B","C","D","E");
var zenKana = new Array("A","B","C","D","E");for(i=0; i<hanKana.length; i++) {
html = this.setReplaceSimple(html, hanKana[i], zenKana[i]);
}if(cleanUpCount > 0){
theDOM.documentElement.outerHTML = html;
alert(cleanUpCount + "全角英字・全角数字・半角カタカナを半角英字・半角数字・全角カタカナに修正しました。");
} else {
alert("全角英字・全角数字・半角カタカナは見つかりませんでした。");
}
}//【検索・置換関数】(引数:ソースHTML, 検索対象文字列, 置換文字列)
function setReplaceSimple(strHTML, strTarget, strChanged) {
var numTarget = strHTML.indexOf(strTarget, 0);
while(numTarget > -1){
strHTML = strHTML.replace(strTarget, strChanged);
cleanUpCount++;
numTarget = strHTML.indexOf(strTarget, numTarget);
}
return strHTML;
}//-->
</script>
</head>
<body onLoad="startCleanUp()">
</body>
</html>
3.zenei_suuji_hankana.mxi の変更
・ファイル名を、変換する内容がわかる内容に変更します。・内容を変更します。
◇変更する場所
・4行目:nameを変換する内容がわかる内容に変更します。
・8行目:nameを製作者の名前に変更します。
・16行目:ここにかかれた文言がインストールされた後に、Extention Managerにこのコマンドの内容として表示されます。
・22行目:ここにかかれた文言がインストールされた後に、Extention Managerに使用方法として表示されます。
・27行目:sourceを変更したzenei_suuji_hankana.htm名に変更してください。zenei_suuji_hankana.htm
<?xml version="0.5" encoding="iso-x-sjis" ?><macromedia-package
name="全角英字・全角数字・半角カタカナを半角英字・半角数字・全角カタカナに変換コマンド"
version="1.1"
type="command"><author name="Kenji abe" />
<products>
<product name="Dreamweaver" version="MX" primary="true" required="true" />
</products><description>
<![CDATA[
ソース上にある全角英字・全角数字・半角カタカナを半角英字・半角数字・全角カタカナに変換するコマンドです。
]]>
</description><ui-access>
<![CDATA[
Dreamweaver のメニューから、 [コマンド] -> [変換:全角英字を半角英字に] を選択するだけでOKです。
]]>
</ui-access><files>
<file source="zenei_suuji_hankana.htm" destination="$dreamweaver/configuration/Commands" />
</files><configuration-changes>
</configuration-changes>
</macromedia-package>■インストール
1.インストール用ファイル(.mxp)の作成
・zenei_suuji_hankana.htmとzenei_suuji_hankana.mxiを同階層に置きます。
・zenei_suuji_hankana.mxiをダブルクリックすると、Extention Managerが開きます。(Extention Managerがインストールされていれば)
・Extention Managerに沿って、OKを押せば、zenei_suuji_hankana.mxp ファイルが作成されます。2.Extention Managerにインストール
・zenei_suuji_hankana.mxpをダブルクリックすると、インストールを承諾する画面が開きます。
・承諾すると、インストールされます。
・Extention Managerを閉じて、Dreameweaver を開いてください。
・コマンドの中に、インストールしたコマンド名が入っていればインストール成功です。
・実際に置換ができるか、テストファイルを使って試してみてください。
参考サイト:Dreamweaver 徹底活用
(http://www.game3rd.com/dreamweaver/index.htm)
検索と置換(http://www.game3rd.com/dreamweaver/mail/log17.htm)DWエクステンションのエントリー一覧
Dreamweaver の置換コマンドを作成する
for Movable Type 3.2 によるテンプレートカスタマイズ
LIFT for Macromedia Dreamweaver
全角数字を半角数字に変換
半角カタカナを全角カタカナに変換
ローマ字をアルファベットに変換
キーワード出現率を高めるためのExtension
スニペットをバックアップ
代替テキストの空設定
タグの後につくスペースを削除
サイト内ソースフォーマット
DOCTYPE 挿入スニペット
ContentType スニペット
ルビを挿入
Windows機種依存文字変換
CSS属性フォーマット
Dreamweaverのエクステンション
投稿者 kenji : 2007年03月06日 15:04トラックバック
このエントリーのトラックバックURL:
http://tropicalfish.ciao.jp/cgi/mt2/mt-tb.cgi/189コメント
大変有意義なツールのご提供ありがとうございます。さっそく利用させていただきました。
さて、、、自分の確認不足による失敗だったのですが、「置換コマンド作成セット(ChikanCommand.zip)」のうち、「zenei_suuji_hankana.htm」の文字列「パピプペポ(半濁点・まる)」に対応する半角カナが「バビブベボ(濁点・てんてん)」になってしまっているのに気がつかず、ケータイサイト用に「全角カナ→半角カナ」にアレンジしてドンしたら、700ページほど、「スープ」が「スーブ」、「ピザ」が「ビザ」になっちゃってました^^;
まぁ、この手のツールは自己責任ですので、完全な自分自身の確認不足なんですが、もしお時間ありましたら、修正しておいていただけると、後の方の利便となるのかなと思いご報告いたします。
投稿者 さいとう : 2008年02月29日 16:34
コメントしてください