このようにURL文字列をデータベースに保存していますが、
'http://www.domain.com'
文字列の上に表示するにはどうすればよいですか
「www.domain.com」
最初に正規表現が必要です
URL を部分に分割しparse_url()
て、必要な部分を取得できます。あなたの場合(を探しているhost
)、それは次のようになります:
$url = 'http://www.domain.com';
$parts = parse_url($url);
$result = $parts['host'];
これには、他の投稿されたソリューションよりも大きな利点があります。コードを変更することなく、https-url、get-parameters を含む URL、および/または htaccess-authentication パラメータを含む URL を使用する準備ができています。
以下のようなものを使用できます。
<?php
str_replace('http://', '', $url);
編集:
あなたは正規表現の解決策を主張しているので、これがhttpとhttpsを1つにまとめたものです
echo preg_replace( '/^(htt|ht|tt)p\:?\/\//i', '', $url);
echo substr('http://www.domain.com',7);
if (substr('http://www.domain.com',7) == 'http://' or substr('https://www.domain.com',8) == 'https://')
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);
$url = 'http://www.domain.com'; を使用するだけです。
str_replace('http://', '', $url);
それは正確に返されますwww.domain.com