0

別のリンクからリンクを抽出するための最良の方法を誰かが知っているかどうか疑問に思っていました。例を次に示します。

次の形式のリンクがある場合:

http://www.youtube.com/watch?v=35HBFeB4jYg   OR
http://it.answers.yahoo.com/question/index?qid=20080520042405AApM2Rv  OR
https://www.google.it/search?q=rap+tedesco&aq=f&oq=rap+tedesco&aqs=chrome.0.57j62l2.2287&sourceid=chrome&ie=UTF-8#hl=en&sclient=psy-ab&q=migliori+programatori&oq=migliori+programatori&gs_l=serp.3..0i19j0i13i30i19l3.9986.13880.0.14127.14.10.0.4.4.0.165.931.6j4.10.0...0.0...1c.1.7.psy-ab.tPmiWRyUVXA&pbx=1&bav=on.2,or.r_cp.r_qf.&fp=ffc0e9337f73a744&biw=1280&bih=699

次のようにWebページのみを抽出するにはどうすればよいですか。

http://www.youtube.com
http://it.answers.yahoo.com
https://www.google.it

これを達成するためにPHPで使用できる正規表現は何か、正規表現はどうすればよいのでしょうか?

4

3 に答える 3

2

URL を解析するための PHP 関数があります。parse_url

$url = 'http://it.answers.yahoo.com/question/index?qid=20080520042405AApM2Rv';
$p = parse_url($url);
echo $p["scheme"] . "// . "$p["host"];
于 2013-03-21T08:30:09.733 に答える
1

Use function parse_url.

$link = "https://www.google.it/search?q=rap+tedesco";
$parseUrl = parse_url($link);
$siteName = $parseUrl['scheme']."://". $parseUrl['host'];

Using Regexp.

preg_match('@http(s?)://([\w]+\.){1}([\w]+\.?)+@',$link,$matches);
echo $matches[0];

Codeviper Demo.

于 2013-03-21T08:39:11.510 に答える
0

ページのドメインを取得したいだけです。PHPには、役立つparse_urlという関数が存在します。

于 2013-03-21T08:31:11.047 に答える