jae-jae / QueryList

:spider: The progressive PHP crawler framework! 优雅的渐进式PHP采集框架。
https://querylist.cc
2.65k stars 440 forks source link

获取html内容缺失 #127

Closed walkerxy closed 2 months ago

walkerxy commented 3 years ago

你好,我在查找图片img的html元素时,通过htmlOuter获取源html字符串内容,但是发现会缺失了后面的斜杠/字符

$html = '<img alt="" src="" style="float:right; vertical-align:middle" />测试';

$pq = \phpQuery::newDocument($html);
$imgs = $pq->find('img');
dd($imgs[0]->htmlOuter());

// 这里打印出来的是:<img alt="" src="" style="float:right; vertical-align:middle">
可以看到对比原来的html,少了后面的斜杠

这个是问题,还是故意这样呢?可以修复下吗

walkerxy commented 3 years ago

这么多天了,没法解决吗。。

jae-jae commented 3 years ago

phpQuery 底层的实现原理是使用了 PHP 的 DOM 扩展,本质是使用 DOMXPath 来选择元素,我尝试直接使用原生的 xpath 语法获取 img 标签发现是正常的,不会去掉斜杠,使用 phpQuery 少了斜杠,那应该是 phpQuery 内部做了什么特殊处理,需要去研读 phpQuery 源码才可知。目前 phpQuery 项目官方已没再维护,现在只能靠社区的大家共同维护,项目地址欢迎提PR:https://github.com/jae-jae/phpQuery-single

walkerxy commented 3 years ago

好吧,多谢回复