最近 Python を勉強していますが、PHP の多くの単純な関数は Python で見つけるのに時間がかかり、多くの関数は自分で実装する必要があります。
今日は、コンテンツ内のタグをフィルターする必要がありました。テストの結果、ようやく目的の効果が得られたようです。そのまま貼り付けてください。コード
from html.parser import HTMLParserdef strip_tags(html, save=None): result = [] start = [] data = [] def starttag(tag, attrs): if tag not in save: return start.append(tag) if attrs: j = 0 for attr in attrs: attrs[j] = attr[0] + '="' + attr[1] + '"' j += 1 attrs = ' ' + (' '.join(attrs)) else: attrs = '' result.append('<' + tag + attrs + '>') def endtag(tag): if start and tag == start[len(start) - 1]: result.append('</' + tag + '>') parser = HTMLParser() parser.handle_data = result.append if save: parser.handle_starttag = starttag parser.handle_endtag = endtag parser.feed(html) parser.close() for i in range(0, len(result)): tmp = result[i].rstrip('\n') tmp = tmp.lstrip('\n') if tmp: data.append(tmp) return ''.join(data)
result = strip_tags("""发生的杀毒<a target="_blank" title="足球比分直播" href="http://live.500.com/" >足球比分直播</a><a target="_blank" title="竞彩足球" href="http://zx.500.com/jczq/" >竞彩足球</a><a target="_blank" title="篮球竞彩" href="http://zx.500.com/jclq/" >篮球竞彩</a></div> <img src="dd" alt=">"> <p> 打蛇打七寸,北单7串1。由于<a target="_blank" title="北京单场" href="http://zx.500.com/zqdc/">北京单场</a>SP值计算规则与竞彩不同,4串1及以下投注购买竞彩更划算,而7串1以上的投注很可能交税,反而不划算。根据计算,北京单场4串1到7串1之间的投注最划算。</p>""", ['p', 'img']) print(result)
发生的杀毒足球比分直播竞彩足球篮球竞彩 <img src="dd" alt=">"> <p> 打蛇打七寸,北单7串1。由于北京单场SP值计算规则与竞彩不同,4串1及以下投注购买竞彩更划算,而7串1以上的投注很可能交税,反而不划算。根据计算,北京单场4串1到7串1之间的投注最划算。</p>
のみを保持します