import re


def remove_tags(html_str: str, tags):
    """
    removes a list of tags and their content from the html
    """
    if isinstance(tags, str):
        tags = [tags]

    if isinstance(tags, list):
        for tag in tags:

            if tag == 'js' or tag == 'javascript':
                scripts = re.compile(r'<(script).*?</\1>(?s)')
                html_str = scripts.sub('', html_str)

            if tag == 'css':
                css = re.compile(r'<(style).*?</\1>(?s)')
                html_str = css.sub('', html_str)

            if 'comment' in tag or tag == '#' or tag == '//':
                comments = re.compile(r'<!--(.|\s)*?-->')
                html_str = comments.sub('', html_str)

            # tag = re.compile(r'<(style).*?</\1>(?s)')
            # html = tag.sub('', html)
    return html_str