0

インバウンドリンクからURLを取得するために、次のようなコードを使用しています。

$inbound_url = $_SERVER['HTTP_REFERER'];

//then do some stuff writing the url to a database table, but....
//ONLY IF the url doesn't already exist in the table

リンクが同じWebサイト、同じWebページからのものであるが、wwwのみが異なるとします。だから私はこれを手に入れます:1)http://www.mysite.com/page.html 2)http://mysite.com/page.html

1つはwwwを持っていて、もう1つは持っていないので、これは私のテーブルに2回表示されます。

$_SERVER['HTTP_REFERER']の結果を解析する方法はありますか。いずれかに:1)wwwを追加します。欠落している場合、または2)... http://...wwwのすべてを削除します。または..http://

いつものように事前に感謝します。

4

2 に答える 2

2

できますよ。いくつかの単純な文字列の操作と置換で、URLからを削除する必要がありwwwます-

$inbound_url = str_replace('http://www','http://',$inbound_url);

ドキュメントで定義されているように-

str_replace()-検索文字列のすべての出現箇所を置換文字列に置き換えます

文字列URLhttp://の他の出現箇所が変更されないように、検索にを含めていることに注意してください。www

于 2013-01-16T20:35:52.290 に答える
1

これを使って

$url = 'http://stackoverflow.com';
$d = array_shift( explode( '.', str_replace('www.', '', parse_url( $url, PHP_URL_HOST )) ) );
echo $d; //stackoverflow

またはあなたも使用することができます

http://php.net/manual/en/function.parse-url.php関数

于 2013-01-16T20:35:48.990 に答える