0

ページの URL から Web サイトの URL を抽出する必要があります。たとえば、これは私のphpコードです:

<?php

$pageA = "http://stackoverflow.com/questions/tagged/php";
$pageB = "https://www.google.it/search?channel=cs&ie=UTF-8&q=php+download";
$pageC = "http://www.facebook.com/ladygaga";
$pageD = "www.youtube.com";
$pageE = "yahoo.com";

?>

そして、私は抽出する必要があります

stackoverflow.com
www.google.it
www.facebook.com
www.youtube.com
yahoo.com

これらのページの URL から。

4

1 に答える 1

1

parse_urlはまさにこのためです。リンクされたマニュアルから:

この関数は URL を解析し、存在する URL のさまざまなコンポーネントを含む連想配列を返します。

例:

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));
?>

出力します:

Array
(
  [scheme] => http
  [host] => hostname
  [user] => username
  [pass] => password
  [path] => /path
  [query] => arg=value
  [fragment] => anchor
)

アップデート

スキームがないparse_url場合、他のフィールドを認識できません。この問題の回避策は、このケースをキャッチし、デフォルトのスキームを追加して再解析することです。コードは次のようになります。

<?php
$url = 'yahoo.com/help';
$fields = parse_url($url);

if(empty($fields['scheme'])) {
  $fields = parse_url('http://' . $url);
}

print_r($fields);
?>
于 2012-04-23T12:20:26.607 に答える