Python 实现类似PHP的strip_tags函数功能,并且可以自定义设置保留标签
程序员文章站
2024-01-12 23:07:34
...
最近在研究 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('') 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("""发生的杀毒足球比分直播竞彩足球篮球竞彩
上一篇: 求助大神一个TP2.0的简单问题,实在是网上查不到资料,谢谢!
下一篇: 关于PHP5扩展的有关问题