忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/11    10« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »12

黒塗りツールを作ってみている

×

[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']); とかやるとちゃんと黒塗りされる。

ただ、これだと要素名やクラス名とかも巻き込んで変換してしまうのでちょっとどうかなぁ……

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R