递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 624|回复: 1
打印 上一主题 下一主题

[视窗] 易语言:网页_取文本_reg和网页_取文本_dom

[复制链接]

37

主题

583

帖子

2851

积分

金牌会员

Rank: 6Rank: 6

积分
2851
跳转到指定楼层
楼主
发表于 2024-9-24 16:02:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
-----------------------------------------------------------
麻烦大佬把易语言中的“网页_取文本_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", , , )
    删除文本空白行 (结果文本)
    返回 (结果文本)

}


_______________________________________
回复

使用道具 举报

26

主题

1899

帖子

6920

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6920
沙发
发表于 2024-9-24 17:14:53 | 只看该作者
没仔细看,但你火山的正则表达式没有处理转义,如果你不想手动改,可以在文本初始值的框里粘贴。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-22 19:11 , Processed in 0.071010 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表