[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
欲しい、とは書いたが切実だったのでとりあえず試作した。相変わらず jQuery でごりごり DOM 操作するスタイルだけれども。
const replaceStrings = (strs, dom=$('body')) => { const regexps = strs.map((str)=>{return { regexp: new RegExp(str, 'gm'), replaced: `<span style="color:black;background-color:black;">${'█'.repeat(str.length)}</span>` }}); dom.children().each((i, d) => { const $target = $(d); let html = $target.html(); regexps.forEach((re)=>{ html = html.replace(re.regexp, re.replaced); }); $target.html(html); }); };
試しに ここ とかで開発者コンソールから上述のコードを入れて関数定義をした後、 replaceStrings(['FH', 'GM']);
とかやるとちゃんと黒塗りされる。
ただ、これだと要素名やクラス名とかも巻き込んで変換してしまうのでちょっとどうかなぁ……
ただいまコメントを受けつけておりません。