-1

このようにURL文字列をデータベースに保存していますが、

'http://www.domain.com'

文字列の上に表示するにはどうすればよいですか

「www.domain.com」

最初に正規表現が必要です

4

5 に答える 5

4

URL を部分に分割しparse_url()て、必要な部分を取得できます。あなたの場合(を探しているhost)、それは次のようになります:

$url = 'http://www.domain.com';
$parts = parse_url($url);
$result = $parts['host'];

これには、他の投稿されたソリューションよりも大きな利点があります。コードを変更することなく、https-url、get-parameters を含む URL、および/または htaccess-authentication パラメータを含む URL を使用する準備ができています。

于 2012-06-18T09:23:10.107 に答える
1

以下のようなものを使用できます。

<?php
str_replace('http://', '', $url);

編集:

あなたは正規表現の解決策を主張しているので、これがhttpとhttpsを1つにまとめたものです

echo preg_replace( '/^(htt|ht|tt)p\:?\/\//i', '', $url);
于 2012-06-18T09:25:01.280 に答える
1
echo substr('http://www.domain.com',7);

if (substr('http://www.domain.com',7) == 'http://' or substr('https://www.domain.com',8) == 'https://')
于 2012-06-18T09:25:44.733 に答える
1

URLを解析せずに文字列を変更するための一般的な解決策(つまり、自分でこのようなことができるようになることを学ぶ必要があります):

if (stripos($url, 'http://', 0) == 0)
    $url = substr($url, 7);

https://また、プレフィックスなどの別のチェックを簡単に追加することもできます。

if (stripos($url, 'https://', 0) == 0)
    $url = substr($url, 8);

正規表現を使用すると、必要なものがないため完全に不要ですが、次のようにすることができます。

$url = preg_replace('/^http:\\/\\//', '', $url);

またはhttpsを直接サポートします:

$url = preg_replace('/^https?:\\/\\//', '', $url);
于 2012-06-18T09:26:31.287 に答える
1

$url = 'http://www.domain.com'; を使用するだけです。

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

それは正確に返されますwww.domain.com

于 2012-06-18T09:43:56.840 に答える