アプリケーションで CKEDITOR 4 を使用しています。
ここには、特定のタイプのタグがあります。「TagX」としましょう。
ID を持たない TagX タグのみに「id」属性を追加する必要があります。
私は以下を使用して真正しました:
content = EditorInstance.getData();
var pattRegex = /<(tagx)(?![^<>]*\bid=).*?<\/\1>/gi;
var arrTagsX = content.match(pattRegex);
for (i = 0; i < arrTagsX.length; i++) {
content = content.replace("<tagx", <tagx id=\"id_" + i + "\"");
}
EditorInstance.setData(content);
正常に動作していますが、コンテンツのサイズが非常に大きいため、避けたいと思いsetData();
ます。
HTML(テキストだけでなく)を見つけて、htmlをhtml + idに置き換える何かが必要です。