如何从网页中获取内部链接?

Goo*_*bot 5 php xpath parsing dom html-parsing

我用来XPath解析 HTML 网页以获取所有内部链接。DOMXPath将返回 中提供的所有链接href。如何区分内部链接和外部链接?

我引入了一系列字符串检查来删除外部链接;但问题是有不同的方法来链接内部页面,例如

    page.html
    /page.html
    http://domain.com/page.html
    http://subdomain.domain.com/page.html
    ....
Run Code Online (Sandbox Code Playgroud)

区分内部链接(指向当前域(包括其子域)的任何链接)和外部链接(指向任何其他域)的最安全方法是什么。

Jer*_*oen 0

使用substr()查看前 4 个字符是否为 http。

如果是,则使用parse_url()函数检查主机是否相同。如果没有,那就是内部的了。