def str_find_all_between_tags(string, start='', end='', case=True):
    """ Returns all substrings between two string tags """
    if not case:
        string_orig = string
        string = string.lower()
        start = start.lower()
        end = end.lower()
    results = []
    while True:
        if start:
            s = string.find(start)
        else:
            s = 0
        if end:
            e = string.find(end, s + len(start))
        else:
            e = len(string)
        if s < 0 or e < 0:
            break
        if not case:
            match = string_orig[s + len(start):e]
            string_orig = string_orig[e + len(end):]
        else:
            match = string[s + len(start):e]
        results.append(match)
        string = string[e + len(end):]
    return results
