URLから純粋なドメイン名を生成するphp関数が必要です。したがって、これらの部分が存在する場合は、この機能をURLからhttp://
,www
および/
(スラッシュ)の部分を削除する必要があります。入力と出力の例を次に示します。 入力 - >http://www.google.com/ |出力 - > google.com
入力 - >http://google.com/ |出力 - > google.com
入力 - > www.google.com/ |出力 - > google.com
入力 - > google.com/ |出力 - > google.com
入力 - > google.com |出力 - > google.com
私はparse_url
の機能をチェックしましたが、必要なものは返されません。 私はPHPで初心者ですから、私にとっては難しかったです。何か考えているなら、答えてください。
Thanxを事前に入力してください。PHPのURLからhttp://、www、およびslashを削除するには?
答えて
$input = 'www.google.co.uk/';
// in case scheme relative URI is passed, e.g., //www.google.com/
$input = trim($input, '/');
// If scheme not included, prepend it
if (!preg_match('#^http(s)?://#', $input)) {
$input = 'http://' . $input;
}
$urlParts = parse_url($input);
// remove www
$domain = preg_replace('/^www\./', '', $urlParts['host']);
echo $domain;
// output: google.co.uk
すべての入力例で正しく機能します。
とwwwがsecure.google.comの場合はどうなりますか? – Gordon
イェップ、それは私が必要なものです。どうもありがとう! – JohnUS
@Gordon:質問は 'http://、wwwと/'を削除する必要があります。任意のサブドメインはその一部ではなく、必要に応じて動作しませんでした。 – webbiedave
使っでもparse_url
これを試してみてください、それはあなたが何を望むか削除されます(HTTP :: //、WWWと末尾のスラッシュ)が、このような
example.google.comなどの他のサブドメインを保持します$host = parse_url('http://www.google.com', PHP_URL_HOST);
$host = preg_replace('/^(www\.)/i', '', $host);
if (!preg_match('/^http(s)?:\/\//', $url))
$url = 'http://' . $url;
$host = parse_url($url, PHP_URL_HOST);
$host = explode('.', strrev($host));
$host = strrev($host[1]) . '.' strrev($host[0]);
strrev場合、これは($ホスト[0])あなたには、いくつかのより多くのチェックを行いたいかもしれないので、それは、たとえば.co.ukドメインの役に立たないだろうが、セカンドレベルドメインを返し、追加の部品が含まれるであろうuk、auなどです
URLからドメインを取得する方法はたくさんありますが、最短から最長まで4つの方法で投稿しています。
#1
function urlToDomain($url) {
return implode(array_slice(explode('/', preg_replace('/https?:\/\/(www\.)?/', '', $url)), 0, 1));
}
echo urlToDomain('http://www.example.com/directory/index.php?query=true');
#2
function urlToDomain($url) {
$domain = explode('/', preg_replace('/https?:\/\/(www\.)?/', '', $url));
return $domain['0'];
}
echo urlToDomain('http://www.example.com/directory/index.php?query=true');
#3
function urlToDomain($url) {
$domain = preg_replace('/https?:\/\/(www\.)?/', '', $url);
if (strpos($domain, '/') !== false) {
$explode = explode('/', $domain);
$domain = $explode['0'];
}
return $domain;
}
echo urlToDomain('http://www.example.com/directory/index.php?query=true');
#4
function urlToDomain($url) {
if (substr($url, 0, 8) == 'https://') {
$url = substr($url, 8);
}
if (substr($url, 0, 7) == 'http://') {
$url = substr($url, 7);
}
if (substr($url, 0, 4) == 'www.') {
$url = substr($url, 4);
}
if (strpos($url, '/') !== false) {
$explode = explode('/', $url);
$url = $explode['0'];
}
return $url;
}
echo urlToDomain('http://www.example.com/directory/index.php?query=true');
リターン上記の機能はすべて同じ応答:example.com
$str = 'http://www.google.com/';
$str = preg_replace('#^https?://#', '', rtrim($str,'/'));
echo $str; // www.google.com
- 1. http://とwwwを削除する正規表現。 URLから
- 2. URLからhttp://を削除するPHP Regex
- 3. IIS 6のURLからwwwを削除する
- 4. URLからwwwを削除し、また、サブドメインのindex.phpを削除します。
- 5. httpsからwwwを削除
- 6. "www"、 "http://"を文字列から削除します
- 7. マイクロソフトのリライトモジュール - URLを強制的にURLにするまたはURLからwwwを削除する
- 8. Apache http/https非wwwからww urlリダイレクト
- 9. Delete_fromおよび削除
- 10. iCalendarからイベントを追加および削除しますか?
- 11. lighttpdでURLから.phpを削除する(クリーンURL)
- 12. Entity Frameworkの、ソフト削除およびクエリ
- 13. Samba、CIFS、およびファイルの削除
- 14. URLをもとにURLからindex.htmlを削除するには
- 15. 動的にJetty Serverからコンテキストハンドラを追加および削除する
- 16. ASP.Net:編集および削除時にGridViewからDataKeyを取得する
- 17. 削除対オペレータの削除(およびvoidポインタ)
- 18. wwwからwwwにリダイレクトしても、バックスラッシュは削除されません。
- 19. angularjsのクッキーからオブジェクトを削除および編集する方法
- 20. rdlcレポートのTablixから列を追加および削除する
- 21. php luceneインデックスファイルの行を更新および削除する方法
- 22. Entity Framework 4.3およびカスケード削除
- 23. RewriteCondはwwwを削除できません。サブドメインURL
- 24. XMLノードを追加および削除する方法は?
- 25. プログラムでUIToolbaritemsを追加および削除する方法は?
- 26. PHPでHTTPヘッダを削除する
- 27. PHPスクリプト自体を削除する方法(およびdirを含む)
- 28. ViewPagerでフラグメントを動的に追加および削除する
- 29. Jqueryクラスを動的に追加および削除する
- 30. JQuery.address - URLから#を削除
はこれが質問の数十の複製です。 – tplaner
parse_urlはサブドメインを含む完全なドメイン名を保持します。 www.google.comをgoogle.comに変えることはありません – Gordon
ここで2番目に高い評価を得た回答(http://stackoverflow.com/questions/276516/parsing-domain-from-url-in-php)はおそらく最も単純な賭けです。 – BenOfTheNorth