function html2notecase(contents, note) {
    contents = contents.replace(/
/g, '\n');
    contents = contents.replace(/
/g, '\n');
    contents = contents.replace(/<\/p>/g, '\n');
    contents = contents.replace(/
/g, '');
    contents = contents.replace(/ /g, ' ');
    let index = 0;
    note.formatting = [];
    note.links = [];
    note.images = [];
    while (index < contents.length) {
        if (contents[index] == '<') {
            let found = false;
            let curContent = contents.substr(index);
            let endOfTag = curContent.indexOf('>');
            if (endOfTag == -1) {
                console.log("Can't find the end of the tag");
            }
            let curTag = curContent.substr(0, endOfTag + 1);
            //console.log(contents);
            for (tagId in tags) {
                let tag = tags[tagId];
                if (contents.substr(index, tag.length) == tag) {
                    found = true;
                    // if (tagMap.get(index) == undefined) {
                    //   tagMap.get(index) = [];
                    // }
                    // tagMap.get(index).push(key);
                    note.formatting.push({
                        note_id: note.detail.note_id,
                        note_offset: index,
                        fmt_tag: tagId,
                        fmt_color: '',
                        fmt_font: '',
                        fmt_value: 100
                    });
                    contents = contents.substr(0, index) + contents.substr(index + tag.length);
                    break;
                }
            }
            if (curTag.substr(0, 4) == "]+?href="([^"]+?)"[^>]+?>([^<]+?)<\/a>/.exec(curContent);
            if (match != null) {
                note.links.push({
                    note_id: note.detail.note_id,
                    note_offset: index,
                    target_url: match[1],
                    lnk_text: match[2]
                });
                
                //console.log("Found link with text: " + match[2] + ", targetting: " + match[1]);
                contents = contents.substr(0, index) + match[2] + contents.substr(index + match[0].length);
                found = true;
            }
            // let imageRegex = /
]+src="data:image\/(jpg|png);base64,([^>\"]+)"[^>]+>/;
            // console.log("Testing for image: " + curTag.substr(0, 100));
            // console.log("End of image: " + curTag.substr(curTag.length - 100));
            // let match = imageRegex.exec(curTag);
            // if (match != null) {
            // }
            if (!found) {
                contents = contents.substr(0, index) + contents.substr(index + endOfTag + 1);
            }
        }
        else {
            index++;
        }
    }
    note.detail.note_text = contents;
}