したがって、次のようなスクリプトを使用して、文字列からすべての URL を取得しようとしています。
$file = file_get_contents('something.txt');
function getUrls($string) {
preg_match_all('~href=("|\')(.*?)\1~', $string, $out);
print_r($out);
}
getUrls($file);
このドキュメントに含まれる URL は不完全な場合があります (例: "/blah/blah.asp?2")。問題は、このスクリプトを実行すると、次のような配列が得られることです。
Array
(
[0] => Array
(
[0] => href="#A"
[1] => href="#B"
[2] => href="#C"
)
[1] => Array
(
[0] => "
[1] => "
[2] => "
)
[2] => Array
(
[0] => #A
[1] => #B
[2] => #C
)
)
ここで何が起こっているのでしょうか?目的の URL ではなく、ハッシュ記号を含むアルファベット順のリストが返される理由がわかりません。URLを返すだけでどうすればよいですか?