YStudio Y++

HTML类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库。路径:支持库 → 扩展类库 → HTML类(可在 工具 → 插件管理 中启用/关闭)。

类型名写「HTML类」。声明时自动创建。

用于解析 HTML 片段:取纯文本、取原文,或尽量转成 Markdown;也可交给超级文本框显示。不是完整浏览器。


快速开始

HTML类 h
如果 (!h.解析("<h1>标题</h1><p>正文 <b>加粗</b></p>")) {
    信息框(h.取错误(), 0)
    返回
}
超级文本框1.置富文本(h.取HTML())
' 只要纯文本:超级文本框1.内容 = h.取纯文本()
' 转成 Markdown:文本 md = h.转Markdown()

从文件加载:

HTML类 h
如果 (h.加载(合并路径(取程序目录(), "说明.html"))) {
    超级文本框1.置富文本(h.取HTML())
}

方法摘要

方法 说明
解析(内容) 解析 HTML 文本
解析字节集(数据) 按字节集解析(常见 UTF-8 / UTF-16 LE)
加载(路径) 从磁盘读取并解析
是否HTML文本(内容) 粗判是否像 HTML;不改当前内容
取纯文本() 去掉标签后的纯文本
取HTML() 最近一次解析的 HTML 原文;可直接 置富文本
转Markdown() 尽量转为 Markdown(部分样式会保留为内嵌 HTML)
取错误() 最近一次失败原因
清空() 清空已解析内容与错误

可解析标签(简易子集)

类别 标签
强调 b strong i em u s strike del mark kbd small
换行 / 分隔 br hr
段落与容器 p div center section article header footer main nav aside figure figcaption details summary
标题 h1~h6
字体 / 行内 font span a(链接) sub sup
代码 code pre
列表 ul ol li
引用 blockquote
图片 img(alt / src;交给超级文本框 HTML 预览时可真正显示)
表格 table tr td th

样式属性(部分生效):color、background-color、font-size、font-weight、font-style、text-decoration(含 #hex / rgb / rgba)。

实体:&lt; &gt; &amp; &nbsp; &quot; &apos; 以及 &#…; 等常见写法。

不解析 / 丢弃: script、style、noscript 整块内容。不是完整浏览器,复杂 CSS / 脚本 / 外链资源不会按网页那样渲染。


说明与限制

  1. 面向片段阅读与转换,不是整站渲染引擎。
  2. 与超级文本框配合:置富文本(取HTML());只要文字用 取纯文本();也可把原文交给控件「HTML 只读预览」。
  3. 相关:超级文本框 · Markdown类 · RTF类

易错对照

易错 正确
把整页站点当浏览器渲染 本类面向片段转纯文本 / 显示 / 转 Markdown
失败不看原因 调用 取错误()
需要从 Markdown 转 HTML 用 Markdown类