我正在尝试读取 HTML 文件并捕获与特定 URL 模式匹配的所有锚标记,以便在另一个页面上显示这些链接。该模式如下所示:
https://docs.google.com/file/d/aBunchOfLettersAndNumbers/edit?usp=drive_web
我对正则表达式很糟糕。我已经尝试了很多东西,并在 Stack Overflow 上阅读了很多答案,但我没有找到正确的语法。
这是我现在拥有的:
preg_match ('/<a href="https:\/\/docs.google.com\/file\/d\/(.*)<\/a>/', $file, $matches)
当我在具有两个匹配锚标记的 HTML 页面上对此进行测试时,第一个结果包括第一个和第二个匹配以及介于两者之间的所有内容,而第二个结果包括第一个匹配的一部分、第二个匹配的一部分以及介于两者之间的所有内容。
虽然我很乐意捕获匹配的锚标记以及内部 HTML,但如果我可以生成一个多维数组,其中包含每个匹配的锚标记的 HREF 属性以及匹配的内部 HTML(这样我可以自己格式化链接,而不必使用更多的正则表达式来删除不需要的属性)。我会为此使用 preg_match_all 吗?那会是什么样子?
我是不是走在正确的道路上,还是应该使用 DOM 和 XPath 查询来查找这些东西?
谢谢。