2

リンクを取得しながら 5 ~ 10 のサイトを抽出する小さなクローラーを作成しています。このような URL を取得しています。

../tets/index.html

その場合は/test/index.html、ベース URL を追加できますhttp://www.example.com/test/index.html

この種の URL に対して何ができますか。

4

3 に答える 3

1

これらの URL は相対 URLです。「..」は「親ディレクトリ」を意味し、「.」は「.」を意味します。bash のように、単に「このディレクトリ」を意味します。たとえば、このページを見ているとします: http://www.someserver/test/foo/bar.htmlで、その中に次のような URL があります: "../baz/foobar.html", それは実際、http://www.someserver/test/baz/foobar.htmlを指していると思います。テストするだけです。

于 2010-09-06T15:30:07.233 に答える
0

このURL 正規化ウィキペディアのページをご覧ください。

于 2010-09-08T09:40:06.387 に答える
0

を使用してベースディレクトリを取得し、使用dirname()を削除してそこに追加します。このような:..substr()

<?php
$url = "../tets/index.html";
$currentURL = "http://example.com/somedir/anotherdir";
echo dirname($currentURL).substr($url, 2);
?>

これは以下を出力します:

http://example.com/somedir/tets/index.html

于 2010-09-06T15:31:24.273 に答える