利用者:P9iKC7B1SaKk/replace-chars.js

提供:Wikisource

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Internet Explorer / Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
  • Opera: Ctrl-F5を押してください
// 特定条件の文字を一括変換
$(function() {
    var namespaceNumber = mw.config.get('wgNamespaceNumber');
    //alert("namespaceNumber=" + namespaceNumber + ",$('#wpTextbox1').val().length=" + $('#wpTextbox1').val().length);
    if (namespaceNumber !== 0 && namespaceNumber !== 2 && namespaceNumber !== 250) return;
    if ( $('#wpTextbox1').val().length === 0) return;
    $("#p-namespaces ul").append($("<li><span><a class='p9i_btn_0_a'>🟨文字変換</a></span></li>").attr({'id':'p9i_btn_0', 'title':'特定条件の文字を一括変換'}).css({'color':'#0000ff','cursor':'pointer'}));
    $('#p9i_btn_0').click(function() {
        var str1 = $('#wpTextbox1').val();
        //alert("str1 len=" + str1.length);
        const itaiji_sel = "︀"; // この行に異体字セレクタU+FE00があるので注意。\u{xxxx}エスケープできないようなので直書きした。
        const target_chars = '[侮僧勉喝器塚墨廊悔慨憎懲敏晴暑朗梅欄殺渚漢煮猪祈祝祥禍禎穀突節精練署羽虜謁謹賓贈逸逸隆靖響頻類飯飼館鶴]';
        const myRe = new RegExp('(' + target_chars + ')(?!' + itaiji_sel +')', 'g');
        var str2 = str1.replace(myRe, "$1" + itaiji_sel);
        str2 = str2.replace(/郎/g, '郞');
        str2 = str2.replace(/🏇成實站/g, ':成吉思汗実録/站');
        var caption = $("#p-namespaces ul").find('.p9i_btn_0_a');
        if (str2 != str1) {
        	caption.text('🟥文字変換(' + (str2.length - str1.length) + ')');
        } else {
            caption.text('🟩文字変換');
        }
        $('#wpTextbox1').val(str2);
        $('#p9i_btn_0, #p9i_btn_0 span a').css({'color':'#000000'});
    });
});