ページ上の特定のテキストを強調表示するためのJavaScriptスクリプトを作成しようとしています。現在、(本文のhtmlからの)テキストを他のテキストに置き換えようとして問題が発生しています。highlights
配列内の各アイテムのすべてのインスタンスを他のテキストに置き換えたいと思います。
私が使用しているコードは次のとおりです。
var responseText = server.responseText;
var highlights = responseText.split("\n");
var text = document.body.innerHTML;
for (i in highlights) {
if (highlights[i].length > 1) {
var exp = new RegExp(highlights[i], "g");
console.log(exp);
console.log(highlights[i]);
text = text.replace(exp, "XXXXXXXXXXX");
}
}
document.body.innerHTML = text;
現在、正しい値のプリントアウトを取得してhighlights[i]
おり、正規表現用だと思いますexp
。highlights[i]
が「Remember」の場合、取得する出力exp
は「/ Remember / g」(引用符なし)ですが、ページの「Remember」という単語に置き換わるものではありません。'そして、単に文字列 "Remember"に置き換えるhighlights[i]
と、正しく機能します。new RegExp()
何が悪いのかについて何か考えはありますか?
編集:
私は問題を解決しました!作成するとき、最初/最後の空白を取り除くのではなく、RegExp()
渡したもので、現在は機能しているように見えます。highlights[i].trim()
highlights[i]