2011-01-21 22 views
2

PHPを使用してドメインから特定のものを削除する最善の方法を知りました。例えばPHPドメイン名拡張子を文字列から削除する

"http://mydomain.com/" "MYDOMAIN"

又は

"http://mydomain.coに。 uk/ "を" mydomain "

私は、次のようなものを削除するための機能を探しています:

"http://"、 ".com"、 ".co.uk"、 ".net "" .ORG」、 "/" など、事前に

感謝:)

+0

:ここ

は、サンプルコードです;)。 –

+0

好奇心の外に、なぜあなたはそれをやろうとしていますか? – Mikk

+0

私が取り組んでいる新しいプロジェクトのデータベースに情報を追加するだけです。私がプロファイルページなどでデータを印刷するとき、私は間違ったドメイン拡張をしたくないので、私はそれらを自分でフレーズしたい。 –

答えて

1

あなたは、文字列を使用することができます置き換えますか?

str_replace('http://', ''); 

これは、文字列から 'http://'を削除します。あなたが最初にやらなければならないことは、ページの現在のURLを取得し、それをあなたが望むものに置き換えることです。

+0

「http://」と「.com」や「.net」などの任意のドメイン拡張子を削除したいと考えています。ありがとう:) –

1

私はstr_replaceを 'http://'して、ドメイン名。

+0

あなたは私に例のコードを教えてください:) –

+0

Gumboはそれを上手く説明します。 – Hoatzin

0

parse_url()とstr_ *関数を組み合わせることはできますが、結果からドメインドメイン(.com、.netなど)を削除する必要がある場合は、正しい結果が得られません。

例えば:

parse_url('http://mydomain.co.uk/', PHP_URL_HOST); // will return 'mydomain.co.uk' 

あなたがハンドルこのような状況のためPublic Suffix Listを使用するライブラリを使用する必要があります。私はTLDExtractをお勧めします。 ($のVAR =「http://domain.com/」私はドメインを格納する文字列/変数を使用することがあります[簡単なメモとして]

$extract = new LayerShifter\TLDExtract\Extract(); 

$result = $extract->parse('mydomain.co.uk'); 
$result->getHostname(); // will return 'mydomain' 
$result->getSuffix(); // will return 'co.uk' 
$result->getFullHost(); // will return 'mydomain.co.uk' 
$result->getRegistrableDomain(); // will return 'mydomain.co.uk' 
関連する問題