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. HtaccessはWWWとSlash + 301リダイレクトを削除します
- 3. ルビーのhttp(s)、www(n)、およびpublicサフィックスを削除するにはどうすればよいですか?
- 4. 削除のHTTPおよびHTTPS
- 5. laravelのURLからパブリック/削除/およびCSSやJavaScript
- 6. URLからhttp://を削除するPHP Regex
- 7. IIS 6のURLからwwwを削除する
- 8. httpsのサブドメインURLからwwwを削除する方法
- 9. URLからwwwを削除し、また、サブドメインのindex.phpを削除します。
- 10. http://またはhttp://とwwwを削除する
- 11. httpsからwwwを削除
- 12. "www"、 "http://"を文字列から削除します
- 13. マイクロソフトのリライトモジュール - URLを強制的にURLにするまたはURLからwwwを削除する
- 14. HTTPからHTTPS、WWWを非WWW URLにリダイレクト
- 15. Angular $ httpからURLプロトコルを削除するには
- 16. すべてのトラフィックをnonwwwからwwwおよびhttpsにリダイレクト
- 17. 'www。'を追加したコマンドラインからのGit操作およびリモートURL
- 18. 反応ルータはindex.htmlにリダイレクトし、.htaccessのURLからwwwを削除します
- 19. Apache http/https非wwwからww urlリダイレクト
- 20. PageViewControllerからViewControllersを追加および削除する方法
- 21. 文字列からhttps://および.comを削除する
- 22. Delete_fromおよび削除
- 23. iCalendarからイベントを追加および削除しますか?
- 24. htaccessのwwwからwwwへのリダイレクト中にURLから1単語を削除するにはどうすればよいですか?
- 25. Dynamics 2016から領域を削除および作成するには
- 26. lighttpdでURLから.phpを削除する(クリーンURL)
- 27. UrlRewrite 2.0はIIS 8.5のURLからwwwを削除していません
- 28. PHPのループ中にMYSQLを更新および削除するwhileループ
- 29. HTTP認証PHPおよびHTML形式
- 30. htaccess Aレコードからwwwおよび新しいページへのリダイレクト
はこれが質問の数十の複製です。 – tplaner
parse_urlはサブドメインを含む完全なドメイン名を保持します。 www.google.comをgoogle.comに変えることはありません – Gordon
ここで2番目に高い評価を得た回答(http://stackoverflow.com/questions/276516/parsing-domain-from-url-in-php)はおそらく最も単純な賭けです。 – BenOfTheNorth