递归火山软件开发平台

标题: 易语言:网页_取文本_reg和网页_取文本_dom [打印本页]

作者: 山梦    时间: 2024-9-24 16:02
标题: 易语言:网页_取文本_reg和网页_取文本_dom
-----------------------------------------------------------
麻烦大佬把易语言中的“网页_取文本_dom"搞出来,谢谢
-------------------------------------------------------
易语言:
---------------------------------------------
.版本 2
.子程序 网页_取文本_reg, 文本型, 公开, 去掉网页源码中的HTML标签,保留纯文本(正则方式)
.参数 网页源码, 文本型, , 网页源码如果含中文且乱码的,请先解码
.局部变量 正则, 正则表达式类
.局部变量 局_源码, 文本型

局_源码 = 网页源码
正则.创建 (“<script[\s\S]*?</script>|<style[\s\S]*?</style>|<[^>]+>|&.{1,8};”, 局_源码)
局_源码 = 正则.替换 ()
返回 (局_源码)
-------------------------------------------------

.版本 2

.子程序 网页_取文本_dom, 文本型, 公开, 去掉网页源码中的HTML标签,保留纯文本(DOM方式)
.参数 网页源码, 文本型, , 网页源码如果含中文且乱码的,请先解码
.局部变量 dom, 对象
.局部变量 局_源码, 文本型

局_源码 = 网页源码
CoInitialize (0)
dom.创建 (“{25336920-03F9-11CF-8FD0-00AA00686F13}”, )
dom.方法 (“write”, “<HTML><BODY><div></div></BODY></HTML>”)
dom.对象型方法 (“body”, ).写属性 (“innerHTML”, 局_源码)
dom.方法 (“close”, )
局_源码 = dom.对象型方法 (“body”, ).读文本属性 (“outerText”, )
CoUninitialize ()
返回 (局_源码)

_______________
火山:
<火山程序 类型 = "通常" 版本 = 1 />

方法 网页_取文本_reg <公开 静态 类型 = 文本型 注释 = "(去掉网页源码中的HTML标签,保留纯文本(正则方式))">
参数 网页源码 <类型 = 文本型 注释 = "(网页源码如果含中文且乱码的,请先解码)">
{
    变量 正则 <类型 = 正则表达式类>
    变量 局_源码 <类型 = 文本型>
    变量 结果文本 <类型 = 文本型>
    局_源码 = 网页源码
    结果文本 = 正则文本替换 (局_源码, "<script[\s\S]*?</script>|<style[\s\S]*?</style>|<[^>]+>|&.{1,8};", "\r\n", , , )
    删除文本空白行 (结果文本)
    返回 (结果文本)

}


_______________________________________

作者: Xelloss0618    时间: 2024-9-24 17:14
没仔细看,但你火山的正则表达式没有处理转义,如果你不想手动改,可以在文本初始值的框里粘贴。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4