1

これは私がこれまでに持っているコードです。

$main = 'example.com';

$removed = str_ireplace("cant figure out what to put in here...", " ", "$main");
echo $removed;`

.comを最初のパラメーターに入れることができることは知っていますが、何百もの異なるTLDを削除しようとしています。

4

2 に答える 2

1

parse_urlを使用して URL を削除し、http-build-urlを使用してホストを削除した後に元に戻します。

簡単な例 (警告 - 動作しない可能性があります。理由は後で説明します) は次のとおりです。

$url = "http://example.com:port/path?query=parts&so=on";
$aParts = parse_url($url);
$aParts['host'] = '';
$removed = http_build_url($aParts);
echo $removed;

ただし、これは次の 2 つの理由で機能しない場合があります。

  1. http_build_url は、常に PHP にインストールされるとは限らない http 関数です。PECL から取得する必要があるかもしれませんが、その前に...
  2. 関数は厳密な URL の構築に非常にうるさいため、実際に自分で作成することをお勧めします。

したがって、より良い解決策は次のとおりです。

$url = "http://example.com:port/path?query=parts&so=on";
$aParts = parse_url($url);
$aParts['host'] = '';
$removed = ($aParts['host'] ? $aParts['host'] : 'http') . '://'
           '' .   // This is where the host goes
           ($aParts['post'] ? ':' . $aParts['port'] : '') .
           ($aParts['path'] ? '/' . $aParts['path'] : '') .
           ($aParts['query'] ? '?' . $aParts['query'] : '') .
           ($aParts['fragment'] ? '#' . $aParts['fragment'] : '');

(テストされていません - バグについてはお詫びしますが、アイデアをお勧めします)

ユーザーを追加し、必要に応じて渡します(上記のリンクのドキュメントを確認してください)。ホストを置き換えたい場合は、空白のままにしないでください。どこでそれを行うかがわかります。

于 2012-09-27T04:56:36.020 に答える
1

これが私が思いついたものです 正しい方向に私を向けてくれたロビーに感謝します.

$url = 'example.com.uk';
$removed  = stristr($url, '.',true);
echo  "$removed";
于 2012-09-27T16:52:55.050 に答える