andikamc / simple-html-dom
dev-master
2020-02-28 03:55 UTC
Requires
- php: >=5.6
This package is auto-updated.
Last update: 2024-09-28 14:37:58 UTC
README
本项目所有显著变更都将记录在此文件中。
格式基于 Keep a Changelog。
[1.9.1] - 2019-10-20
修复
- 修复了损坏的 "text" 选择器 #175
[1.9] - 2019-05-30
新增
- 添加了针对问题报告的单元测试
- 为字符集 UTF-8、CP1251 和 CP1252 添加了单元测试 (#142)
- 为 parse_charset 添加了对 meta charset 的支持
- 使用 iconv 为 parse_charset 添加了对 CP1251 的检测
- 在项目根目录中添加了 LICENSE 文件(MIT)
- 为
simple_html_dom_node
添加了函数remove
:递归地从 DOM 树中删除当前节点removeChild
:递归地从 DOM 树中删除子节点hasClass
:检查当前节点是否有指定的类名addClass
:向当前节点添加一个或多个类removeClass
:从当前节点删除一个或多个类save
:将当前节点保存到磁盘
变更
- 将手册从自定义实现更改为 MkDocs(《https://mkdocs.cn/》)
修复
- 修复了尝试在 null 节点列表上调用 clear() 时的警告 (#153)
- 修复了返回纯文本时的缺失空格 (#163)
- 修复了重复属性检测错误 (#166)
- 修复了检测 CP1252 (ISO-8859-1) 文档的错误 (#142)
- 修复了在最后一个子节点上使用 next-sibling 组合器 ('E + F') 的错误
- 修复了以 "s" 或 "i" 结尾的属性选择器的选择器解析错误 (#169)
[1.8.1] - 2019-01-13
修复
- 修复了与解析类和 ID 相关的多个错误
[1.8] - 2019-01-13
新增
- 为
simple_html_dom_node::find
添加了文档 - 为
simple_html_dom_node::parse_selector
添加了文档 - 为
simple_html_dom_node::seek
添加了文档 - 为
simple_html_dom_node::match
添加了文档 - 为问题报告添加了单元测试
- 为 CSS 选择器添加了单元测试
- 在 simple_html_dom 之前定义了常数
- 'DEFAULT_TARGET_CHARSET'
- 'DEFAULT_BR_TEXT'
- 'DEFAULT_SPAN_TEXT'
- 'MAX_FILE_SIZE'
- 添加了对 CSS 组合器的支持
- 添加了对 Child Combinator (
>
) 的支持 - 添加了对 Next Sibling Combinator (
+
) 的支持 - 添加了对 Subsequent Sibling Combinator (
~
) 的支持
- 添加了对 Child Combinator (
- 添加了对多类选择器的支持 (
.class.class.class
) - 添加了对多属性选择器的支持 (
[attr1][attr2][attribute3]
) - 添加了对属性选择器的支持
- 添加了对管道选择器 (
|=
) 的支持 - 增加了对波浪线选择器(
~=
)的支持 - 增加了对大小写敏感选择器的支持(
i
和s
)
- 添加了对管道选择器 (
- 为 PHP 5.6+ 增加了 PHP 兼容性单元测试
- 使用 PHP_CodeSniffer 增加了编码标准
变更
- 移除了自动过滤 'tbody' 选择器(#79)
从所有选择器中移除 'tbody' 以保持之前的状态!
- 使用 PHP_CodeSniffer 的编码标准
修复
- 修复了带有值 "0" 的损坏的 CSS 选择器属性(#62)
- 修复了 broken simple_html_dom::load_file
- 修复了 CSS 选择器中的正斜杠导致使用 '*=' 时值匹配中断的问题(#144)
- 修复了通用选择器
[1.7] - 2018-12-10
新增
- 增加了代码文档以改善可读性
- 为
simple_html_dom::$self_closing_tags
增加了单元测试 - 为
simple_html_dom::$optional_closing_tags
增加了单元测试 - 为问题报告添加了单元测试
- 为解析器的内存管理增加了单元测试
- 为
simple_html_dom::load()
增加了位标志- 为可选地过滤 Smarty 脚本增加了位标志
HDOM_SMARTY_AS_TEXT
(#154)
注意:Smarty 脚本不再默认过滤!
- 为可选地过滤 Smarty 脚本增加了位标志
- 增加了构建脚本来自动化发布
- 增加了对不带空格分隔的属性的支持
变更
- 改进了
$self_closing_tags
的文档和可读性 - 改进了
$block_tags
的文档和可读性 - 改进了
$optional_closing_tags
的文档和可读性 - 更新了
simple_html_dom::$self_closing_tags
的列表- 移除了 'spacer'(已过时)
- 增加了 'area'
- 增加了 'col'
- 增加了 'meta'
- 增加了 'param'
- 增加了 'source'
- 增加了 'track'
- 增加了 'wbr'
- 更新了
simple_html_dom::$optional_closing_tags
的列表- 移除了 "nobr"(已过时)
- 将 'th' 作为可关闭元素添加到 'td' 中
- 将 'td' 作为可关闭元素添加到 'th' 中
- 为 'optgroup' 和 'option' 添加了 'optgroup' 作为可关闭元素
- 为 'option' 添加了 'optgroup' 作为可关闭元素
- 为 'rp' 和 'rt' 添加了 'rp' 作为可关闭元素
- 为 'rt' 和 'rp' 添加了 'rt' 作为可关闭元素
- 明确了
simple_html_dom->parent
的意义 - 将
file_get_html()
的默认$offset
从 -1 更改为 0(#161) - 修改了
simple_html_dom::load()
以在替换换行符之前移除脚本标签 simple_html_dom_node::text()
不再向顶层 span 元素添加空白(仅添加到子元素)simple_html_dom_node::text()
在段落之间添加空白行- 通过
.gitattributes
将仓库中的换行符规范化为 LF - 通过约 25% 提高了
simple_html_dom::parse_charset()
的性能 - 通过约 10% 提高了
simple_html_dom::parse()
的性能
已弃用
str_get_html()
已弃用,应替换为new simple_html_dom()
已移除
- 移除了受保护的函数
simple_html_dom::copy_until_char_escaped()
修复
- 修复了与 PHP 7.3 的兼容性问题
- 修复了拼写错误(#147)
- 修复了处理错误转义文本的问题(#160)
- 在
file_get_html()
中恢复了$maxLen
的功能 - 修复了在另一个脚本中发生错误时 load_file 断开连接的问题
[1.6] - 2014-05-28
新增
- 增加了一些插入和创建节点的能力
- 增加了搜索 "noise" 数组的能力
[1.5] - 2012-09-10
新增
- 在调用 "file_put_contents()" 时增加了标志:LOCK_EX
- 增加了检测源HTML字符集的支持。这用于在请求纯文本时转换字符。
- 其他小修复和功能,太多无法分类
变更
- "file_get_contents()"的错误将抛出异常
修复
- 修复了"token_blank_t"的拼写错误
- 修复了内存泄漏问题
[1.11] - 2008-12-14
新增
- 支持由Firebug生成的xpath
- 新增"simple_html_dom_node"的"dump"方法
- 新增"simple_html_dom_node"的"xmltext"属性
变更
- 移除选择器匹配函数中的preg_quote:
[attribute*=value]
- 将"Comment"元素视为子元素
修复
- 修复了
<pre>
的问题 - 修复了bug #2207477(某些页面加载不正确)
- 修复了bug #2315853(
<
符号后的字符错误)
[1.10] - 2008-10-25
变更
- "find"方法的负索引支持,感谢Vadim Voituk
- 自动加载内容(文本或文件/URL)的构造函数,感谢Antcs
- 完全支持选择器中的通配符
修复
- 修复了文本中的
<
符号引起的混淆问题 - 修复了选择器中的连字符问题
- 修复了
<nobr>
的问题 - 修复了bug #2155883(嵌套列表解析错误)
- 修复了bug #2155113(未关闭的HTML标签错误)
[1.00] - 2008-09-05
新增
- 新增"simple_html_dom_node"的"getAllAttributes"方法
- 支持选择器中的完整JavaScript字符串:
$e->find("a[onclick=alert('hello')]")
变更
- 将选择器"*="改为不区分大小写
修复
- 修复了某些关键条件下的选择器错误
- 修复了去除PHP标签的错误
- 修复了remove_noise()的错误
- 修复了属性中的噪音错误
[0.99] - 2008-08-03
变更
- 性能调整(提升10%)
- 内存需求降低25%
- 将函数名从"file_get_dom()"更改为"file_get_html()"
- 将函数名从"str_get_dom()"更改为"str_get_html()"
修复
- 修复了bug #2011286(未关闭的HTML标签错误)
- 修复了bug #2012551(解析div的错误)
- 修复了bug #2020924(遗漏标签错误)
- 修复了
<body>
标签的innertext的问题
[0.98] - 2008-06-24
新增
- 支持"多个类"选择器功能:
<div class="a b c"></div>
- 新增"回调函数"功能
- 新增"多个选择器"功能:$dom->find('p,a,b')
- 新增示例
- 支持从HTML中提取内容的功能:$dom->plaintext
变更
- 性能调整(提升20%)
- 将simple_html_dom_node方法名从"text()"更改为"makeup()"
修复
- 修复了$dom->clear()的错误
- 修复了文本节点的innertext错误
- 修复了注释节点的innertext错误
- 修复了可选标签的子选择器错误
[0.97] - 2008-05-09
新增
- 新增节点类型"comment"(例如$dom->find('comment'))
- 添加自闭合标签:'base', 'spacer'
- 新增示例"simple_html_dom_utility.php"
变更
- 文件和类名更改(html_dom_parser->simple_html_dom)
已移除
- ($dom->save_file)将不再支持
- 删除示例"example_customize_parser.php"
修复
- 修复了outertext(th)的错误
- 修复了正则表达式转义字符的错误($dom->find)
- 修复了标签中的换行符和"\t"的错误
[0.96] - 2008-04-27
新增
- 手册中的参考部分
- 在手册中添加了遍历部分
- 在FAQ中添加了服务器位于代理后的解决方案(感谢Yousuke Shaggy)
- 新增删除属性的方法
- 新增DOM操作(first_child, last_child, next_sibling, previous_sibling)(请求#1936000)
变更
- 现在file_get_dom支持完整的file_get_contents参数
修复
- 修复了文件末尾自闭合标签的错误
- 修复了标签末尾空白字符的错误
- 修复了测试用例中的某些拼写错误
[0.95] - 2008-04-13
新增
- 支持带有命名空间的标签名
变更
- 新增属性过滤器(感谢Yousuke Kumakura)
- 精炼测试用例的结构
修复
- 修复了可选闭合标签的错误
- 修复了解析标签名称旁边的换行符的错误
[0.94] - 2008-04-06
新增
- 在手册中添加FAQ部分
修复
- 修复了源内容是不良HTML时的无限循环问题
- 修复了向自闭合标签添加新属性的错误
- 修复了未调用$dom->remove_noise()的自定义解析器中的错误