ソースからリンクを取得する PHP


検索したら、ありがたくありました。

https://qiita.com/mpyw/items/85d1e23dc7c58f1014d1

すばらしい。

リンク文字まで取得してくれるらしい。
リンクだけなら、ソースの文字コートも無視できるかな(これからやってみます)

やってみました。
すこし、取り切れないところがあったので、追加しました。
以下の部分です。
private static function parseUrl($url) からのあたり。pathがない場合や、schemeがない場合もあり、それがエラーになりましたので。

    private static function parseUrl($url) {
        if (!$p = parse_url($url) or (isset($p['path']) && self::isJavaScript($p['path']))) {
            throw new InvalidArgumentException('Invalid URL');
        }
        $host = '';
        if (isset($p['host'])) {

            if(empty($p['scheme'])){
                $p['scheme']="https";
            }


            $host .= $p['scheme'] . '://' . $p['host'];
            if (isset($p['port'])) {
                $host .= ':' . $p['port'];
            }