将(嵌套)HTML 无序列表的链接转换为 PHP 链接数组
我有一个常规的嵌套 HTML 无序列表链接,我想用 PHP 抓取它并将其转换为数组。
原始列表看起来像这样:
<ul>
<li><a href="http://someurl.com">First item</a>
<ul>
<li><a href="http://someotherurl.com/">Child of First Item</a></li>
<li><a href="http://someotherurl.com/">Second Child of First Item</a></li>
</ul>
</li>
<li><a href="http://bogusurl.com">Second item</a></li>
<li><a href="http://bogusurl.com">Third item</a></li>
<li><a href="http://bogusurl.com">Fourth item</a></li>
</ul>
任何项目都可以有子项。
(实际的屏幕抓取不是问题,我可以做到这一点。)
我想将其转换为仅包含链接的 PHP 数组,同时保持列表的层次结构性质。有什么想法吗?
我研究过使用 htmlsimpledom 和 phpQuery,它们都使用类似 jQuery 的语法。但是,我似乎无法正确理解语法。我可以获得所有链接,但最终失去了层次性质和顺序。
谢谢。
I have a regular, nested HTML unordered list of links, and I'd like to scrape it with PHP and convert it to an array.
The original list looks something like this:
<ul>
<li><a href="http://someurl.com">First item</a>
<ul>
<li><a href="http://someotherurl.com/">Child of First Item</a></li>
<li><a href="http://someotherurl.com/">Second Child of First Item</a></li>
</ul>
</li>
<li><a href="http://bogusurl.com">Second item</a></li>
<li><a href="http://bogusurl.com">Third item</a></li>
<li><a href="http://bogusurl.com">Fourth item</a></li>
</ul>
Any of the items can have children.
(The actual screen scraping is not a problem, I can do that.)
I'd like to turn this into a PHP array, of just the links, while keeping the hierarchical nature of the list. Any ideas?
I've looked at using htmlsimpledom and phpQuery, which both use jQuery like syntax. But, I can't seem to get the syntax right. I can get all the links, but I end up losing the hierarchical nature and order.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
按照以下方式使用 DOMDocument 和 SimpleXMLElement:
如果将 href 作为 SimpleXMLElement 添加到 $links,请使用 ob_start 和 ob_clean 捕获字符串。
xpath 查询备忘单 (pdf)
Use DOMDocument and SimpleXMLElement along the lines of:
If href is being added to $links as a SimpleXMLElement, use ob_start and ob_clean to capture the string.
Cheat sheet for xpath queries (pdf)