• « ルート図を表示 | トップページヘ

    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

    参考図書:DREAMWEAVER WEB MASTERING BOOK

    投稿者 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

    コメントしてください




    保存しますか?

    (書式を変更するような一部のHTMLタグを使うことができます)

Copyright(c)tropicalfish.ciao.jp/stocksblog/