いくつかのURLを含むテキストを取得しています。テキストで指定されたURLに存在するホストのリストを抽出したいと思います。例えば:
入力:
www.jenniferlopezonline.com www.jenniferlopez.com www.twitter.com/jlo www.myspace.com/jenniferlopez www.youtube.com/jenniferlopez
必要な出力:
Array(
[0]=>www.jenniferlopezonline.com
[1]=>www.jenniferlopez.com
[2]=>www.twitter.com
[3]=>www.myspace.com
[4]=>www.youtube.com
);
私はこのコードを試しました:
preg_match_all('/([a-z0-9\_\-]+(\.)[a-z0-9\_\.\-]+)/i',$text,$matches);
print_r($matches);
出力は次のようになります。
Array
(
[0] => Array
(
[0] => www.jenniferlopezonline.com
[1] => www.jenniferlopez.com
[2] => www.twitter.com
[3] => www.myspace.com
[4] => www.youtube.com
)
[1] => Array
(
[0] => www.jenniferlopezonline.com
[1] => www.jenniferlopez.com
[2] => www.twitter.com
[3] => www.myspace.com
[4] => www.youtube.com
)
[2] => Array
(
[0] => .
[1] => .
[2] => .
[3] => .
[4] => .
)
);
この出力を目的の出力に変換すると、コードがさらにコストがかかり、プロセスが遅くなります。データをまとめて取得するので、余裕がありません。