zenrize

  • /*
     * @title zenrize
     * @description 全裸にするやつ
     * @include http://*
     * @license MIT License
     * @require http://sugyan-static.herokuapp.com/js/lib/rakutenma/rakutenma.js
     * @require http://sugyan-static.herokuapp.com/js/lib/rakutenma/model_ja.js
     */
    
    (function () {
        var rma = new RakutenMA(model_ja);
        rma.featset = RakutenMA.default_featset_ja;
        rma.hash_func = RakutenMA.create_hash_func(15);
        var zenrize = function (text) {
            if (text.match(/^[\x00-\x7F]+$/)) {
                return text;
            }
            var sentences = text.split(/([\s。])/);
            for (var i = 0; i < sentences.length; i++) {
                sentences[i] = (function (sentence) {
                    var tokenized = rma.tokenize(sentence);
    
                    var result = '';
                    for (var i = 0; i < tokenized.length; i++) {
                        if (tokenized[i][1] === 'V-c') {
                            result += '全裸で';
                        }
                        result += tokenized[i][0];
                    }
                    return result;
                }(sentences[i]));
            }
            return sentences.join('');
        };
    
        var walkElements = function (node) {
            var child;
            for (var i = 0; i < node.childNodes.length; i++) {
                child = node.childNodes.item(i);
                if (child.nodeName === 'SCRIPT' || child.nodeName === 'STYLE') {
                    continue;
                }
                if (child.nodeName === '#text') {
                    child.nodeValue = zenrize(child.nodeValue);
                } else {
                    walkElements(child);
                }
            }
        };
        walkElements(document.body);
    }());
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2014/08/07 21:30:29 - 2014-08-07