-1

リンクからサイト名を取得しようとしています

例えば

私はこのリンクを持っています

http://stackoverflow.com
http://www.google.com

この結果を得たい

stackoverflow
google

preg_matchを試していますが、式に問題があります

4

2 に答える 2

3

pregは必要ありません:

$parsed = parse_url($url);
$host = $parsed['host'];

e:これにも.comがありますが、ドメイン全体を一致させるよりも簡単にTLDを削除できます。

于 2012-08-31T20:45:11.913 に答える
0

これはあなたが思うほど簡単ではありません。あなたの例には.comTLDしかないので、それに限定すると、次のようになります。

$result = preg_replace('(^(.+\.)?([^.]+)\.com$)', '$2', parse_url($subject, PHP_URL_HOST));

どちらが戻るか

stackoverflow

例えば。ただし、一般的なドメインサフィックスをカバーしたい場合、これはそれほど簡単ではありません。既知のサフィックスのリストはMozillaにあります。これは、PSL-PublicSuffixListです。いくつかの特別な構文があり、PHPライブラリが存在します。

于 2012-08-31T21:17:56.277 に答える