概要
青空文庫から手っ取り早くテキストをコピーしたいときに、そのままコピーすると「ルビ」のひらがなが混じってコピーされます。これを取り除くJavaScriptの紹介です。ブックマークレットとして使えます。自然言語処理でちょっとしたデータが欲しいときに使えます。
使用前
例として「吾輩は猫である」で試してみます。
何もせずにコピーすると
以下のように「ルビ」もコピーされます。
吾輩わがはいは猫である。名前はまだ無い。
どこで生れたかとんと見当けんとうがつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。しかもあとで聞くとそれは書生という人間中で一番獰悪どうあくな種族であったそうだ。この書生というのは時々我々を捕つかまえて煮にて食うという話である。しかしその当時は何という考もなかったから別段恐しいとも思わなかった。ただ彼の掌てのひらに
使用後
そこでブラウザのF12キーを押して「Console」を開き、以下Scriptをペーストして実行します。
(function(){var e = document.getElementsByTagName("rt"); for(idx = e.length -1 ; idx >= 0; idx--){e[idx].parentNode.removeChild(e[idx]);}})();
すると「ルビ」が消えます。
コピーしてもテキストが消えています。
コピーした結果。
吾輩は猫である。名前はまだ無い。
どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ。この書生というのは時々我々を捕えて煮て食うという話である。しかしその当時は何という考もなかったから別段恐しいとも思わなかった。ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあったばかりである。掌の上で少し落ちついて書生の顔を見たのがいわゆる人間というものの見始であろう。この時妙なものだと思った感じが今でも残っている。第一毛をもって装飾されべきはずの顔がつるつるしてまるで薬缶だ。その後猫にもだいぶ逢ったがこんな片輪には一度も出会わした事がない。のみならず顔の真中があまりに突起している。そうしてその穴の中から時々ぷうぷうと煙を吹く。どうも咽せぽくて実に弱った。これが人間の飲む煙草というものである事はようやくこの頃知った。
ブックマークレットにすると以下のようになります。
javascript:(function(){var e = document.getElementsByTagName("rt"); for(idx = e.length -1 ; idx >= 0; idx--){e[idx].parentNode.removeChild(e[idx]);}})();
所感
DOMで消すのではなく、スタイルシートを変更したほうが速いとは思います。
以上。