藻のブログ

日記,IT,学問(ジェンダー,人工知能など)について書かれることでしょう。

WIRED.jp の「ヴ」を変換するブックマークレットを作りました

WIRED.jp の記事で用いられている「ヴ」を含む語を、適当なバ行の文字に変換するブックマークレットを作成しました。

下記のコードをコピーして、ブラウザにブックマークとして保存してください。

javascript:(function(){var r=[[/ヴェイ/g,"ベー"],[/ヴュ/g, "ビュ"],[/ヴァ/g,"バ"],[/ヴィ/g,"ビ"],[/ヴェ/g,"ベ"],[/ヴォ/g,"ボ"],[/ヴ/g,"ブ"]];$('body :not(script,iframe)').contents().filter(function(){return this.nodeType===3}).replaceWith(function(){return r.reduce(function(t,s){return t.replace(s[0],s[1])},this.nodeValue)})})();

WIRED.jp の記事を開いてブックマークレットを実行すると、記事が変換されます。

コード

(function() {
    var rules = [
        [/ヴェイ/g, "ベー"],
        [/ヴュ/g, "ビュ"],
        [/ヴァ/g, "バ"],
        [/ヴィ/g, "ビ"],
        [/ヴェ/g, "ベ"],
        [/ヴォ/g, "ボ"],
        [/ヴ/g, "ブ"]
    ];

    $('body :not(script,iframe)').contents().filter(function() {
        return this.nodeType === 3;
    }).replaceWith(function() {
        return rules.reduce(function(text, rule) {
            return text.replace(rule[0], rule[1]);
        }, this.nodeValue);
    });
})();

(function() {
    var rules = [
        [/ヴェイ/g, "ベー"],
        [/ヴュ/g, "ビュ"],
        [/ヴァ/g, "バ"],
        [/ヴィ/g, "ビ"],
        [/ヴェ/g, "ベ"],
        [/ヴォ/g, "ボ"],
        [/ヴ/g, "ブ"]
    ];
    var article = $("article");
    var replaced = rules.reduce(function(text, rule) {
        return text.replace(rule[0], rule[1]);
    }, article.html());
    article.html(replaced);
})();

参考

Replace text in HTML page with jQuery - Stack Overflow