同じインデックスのテキストを置き換える方法。このテキストは同じパターンを持っている可能性があります。次のテキストの太字の「is」を置き換えたいとします。
「サムは男の子で、ドリーは彼の妹ですが、ジョンは彼の父親です。彼は医者ではありません。」
次のコードを使用すると、イタリック体の「is」である最初のパターンが置き換えられます。
function getSelectedHTMLText() {
if (window.getSelection) { // all browsers, except IE before version 9 contents
var range = window.getSelection ();
var container = document.createElement("div");
for (var i = 0, len = range.rangeCount; i < len; ++i) {
container.appendChild(range.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
return html;
}
else {
if (document.selection.createRange) { // Internet Explorer
var range = document.selection.createRange();
html = range.htmlText;
return html;
}
}
}
var txt = "Sam is a boy and Dory is his sister, but John <b>is</b> his father. He isn't a doctor.";
var htmlText = getSelectedHTMLText(); //This return s
var txtModified = txt.replace(htmlText, "is");
注:このコードを使用して、HTML コードを HTML 以外のコードに置き換えたり、その逆を行ったりします。