찾다
백엔드 개발PHP 튜토리얼Python 实现类似PHP的strip_tags函数功能,并且可以自定义设置保留标签

最近在研究 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("""发生的杀毒<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>				<img src="/static/imghwm/default1.png" data-src="dd" class="lazy" 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="/static/imghwm/default1.png" data-src="dd" class="lazy" alt=">">						<p>  打蛇打七寸,北单7串1。由于北京单场SP值计算规则与竞彩不同,4串1及以下投注购买竞彩更划算,而7串1以上的投注很可能交税,反而不划算。根据计算,北京单场4串1到7串1之间的投注最划算。</p>

仅保留

标签





성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
如何为所有文件夹在Windows 11中设置相同的文件夹视图?如何为所有文件夹在Windows 11中设置相同的文件夹视图?Apr 26, 2023 pm 10:31 PM

在Windows中,我们可以在文件资源管理器中查看文件夹、文件和其他文档。您可能已经观察到,很少有文件和文件夹具有较小的图标,而很少有较大的图标。因此可以理解,有一个定制选项可用。根据文件的性质,默认设置了不同的文件夹模板。例如,在包含照片的名为Picture的文件夹中,图像具有不同的视图。包含音乐文件的音乐文件夹将具有不同的模板。同样,对于文档、视频等文件夹,每个文件夹根据其类别包含不同的模板。您还可以选择文件夹的模板并将其设置为所有其他相同类型的文件夹。在本文中,我们将学习如何将文件夹视图应

如何在 iPhone 上使用多计时器与 iOS 17如何在 iPhone 上使用多计时器与 iOS 17Jun 21, 2023 am 08:18 AM

什么是iOS17上的多计时器?在iOS17中,Apple现在为用户提供了在iPhone上一次设置多个计时器的能力。这是一个可喜的变化,许多人多年来一直期待的变化。时钟应用程序在iOS16之前只允许用户一次设置一个计时器,现在可用于激活任意数量的计时器,使其成为您一次完成多个任务的理想选择。您可以在计时器屏幕中设置任意数量的计时器。启动计时器后,所有活动计时器都将在锁屏界面和通知中心显示为“实时活动”通知。从这里,您可以查看计时器关闭、暂停或停止计时器的剩余时间,而无需打开时钟应用程序。当您在时钟

如何为您的 Windows lComputer 设置首选频段 [2023]如何为您的 Windows lComputer 设置首选频段 [2023]Jun 26, 2023 am 08:26 AM

几乎所有最新品牌的笔记本电脑都配备了双品牌WiFi。您可以将WiFi设置为5GHz或2.4GHz带宽。但是,事情并没有那么简单。笔记本电脑上的此功能很好地隐藏在设备管理器中,您无法从“设置”页面执行此操作。按照我们的指南为您的笔记本电脑、PC设置首选频段。注意–要切换到5GHz带宽WiFi,您需要WiFi路由器和设备都支持双频WiFi。如果它们中的任何一个都没有支持,则无法更改WiFi带宽。如何在设备上设置首选的WiFi频段设置首选频段以充分利用您的WiFi非常容易。方式1–设置首选频段步骤1–

如何在 Windows 11 上快速设置动态壁纸如何在 Windows 11 上快速设置动态壁纸Apr 25, 2023 pm 02:13 PM

桌面屏幕上的壁纸是系统启动后最令人兴奋和最引人注目的功能之一。它对人们产生有利的影响,并鼓励他们在感到快乐的同时提高工作效率。另一方面,更换壁纸并定期寻找它是一项耗时的任务。那么,如果你的桌面屏幕有一个动态的动态壁纸,可以让你看到各种轻松的壁纸,那不是很好吗?这也将允许用户下载任何GIF并将其设置为系统上的壁纸。在这篇文章中,我们将教您如何使用MicrosoftStore在您的PC上创建或获取动态壁纸。如何使用MicrosoftStore在Windows11上快速设置或获取动态壁

如何在Chrome和Edge的所有选项卡中搜索文本如何在Chrome和Edge的所有选项卡中搜索文本Feb 19, 2024 am 11:30 AM

本教程向您展示了如何在Windows的Chrome或Edge中找到所有打开的标签页上的特定文本或短语。有没有办法在Chrome中所有打开的标签页上进行文本搜索?是的,您可以使用Chrome中的免费外部Web扩展在所有打开的标签上执行文本搜索,无需手动切换标签。一些扩展如TabSearch和Ctrl-FPlus可以帮助您轻松实现这一功能。如何在GoogleChrome的所有选项卡中搜索文本?Ctrl-FPlus是一个免费的扩展,它方便用户在浏览器窗口的所有选项卡中搜索特定的单词、短语或文本。这个扩

PHP入门指南:服务器安全设置PHP入门指南:服务器安全设置May 20, 2023 pm 05:31 PM

PHP是一种广泛应用于Web开发的编程语言,它的应用范围很广,从简单的表单到复杂的电子商务网站都可以使用PHP来实现。然而,与任何其他Web应用程序一样,PHP应用程序也需要保证安全性。本文将介绍PHP入门指南:服务器安全设置。保持服务器程序更新第一步是确保服务器上所有相关程序都是最新版本。这包括操作系统、Web服务器、数据库服务器和PHP本身。经常升级服务

Python的round()函数:保留指定位数的小数Python的round()函数:保留指定位数的小数Nov 18, 2023 pm 05:35 PM

Python的round()函数:保留指定位数的小数,需要具体代码示例概述:在Python编程中,经常需要对浮点数进行四舍五入,以保留指定位数的小数。为了解决这个问题,Python提供了round()函数。本文将介绍round()函数的用法,并提供一些具体的代码示例。round()函数的用法:round()函数是Python内置的一个函数,用于对浮点数进行四

如何在 Windows 11 中设置夜灯时间表?如何在 Windows 11 中设置夜灯时间表?Apr 24, 2023 am 09:01 AM

我们的电脑屏幕会发出蓝光,就像太阳发出的光一样。这种光并没有那么有害。但是在其他灯光稍微暖和一些的晚上,当你盯着电脑屏幕发出更亮的蓝光更长时间时,你最终会感到眼睛疲劳。当然,您可能知道所有这些,并且您可能已经知道窗户具有的夜灯功能,它有助于阻挡蓝光的发射,而是使用更温暖的颜色,让您的眼睛感到愉悦。当您感觉自己的眼睛也在燃烧时,您可能已经在每次打开此功能。但是您知道您可以设置一个时间表,根据该时间表自动启用和禁用夜灯功能吗?如果您还不知道,请继续阅读!第1步:要启动设置应用程序,请同时按下WIN+

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.