http://
と/
の間に表示されるものを削除する方法を教えてもらえますか?たとえば、http://something/
またはhttp://something.something.something/
なので、ちょうど/
に変更されますか?PHPを使用して文字列からホスト名を削除するには?
答えて
$_SERVER['REQUEST_URI']
が表示されます。またはあなたはそれを得ることができますparse_url()
あなたがregexの使用を主張する場合、[編集]しないでください。
あなたはparse_url
を使用することができますが、その後、あなたは、さまざまなコンポーネントとURLの残りの部分を再構築する必要があります:あなたは含む長い文字列をURLで作業していないと仮定すると、
$components = parse_url($url);
$result = $components['path'] . '?' .
$components['query'] . '#' .
$components['fragment'];
これは間違いなく最高の答えです。私が作った小さなアップデートです: '' '$ components = parse_url($ url); $ result = $ components ['path'] (!empty($ components ['query'])? '?'。$ components ['query']: '')。 ($ components ['fragment'])? '#'。$ components ['fragment']: ''); '' ' – Kus
をURL ...
$path = parse_url($url, PHP_URL_PATH);
URLにクエリ文字列とaがある場合、期待される結果は得られません。断片。 –
以下は、単にあなたのURLのパスを返します。
<?php
$urls = array(
'http://something.com/',
'http://something.something.com/',
'http://something.something.com/some/path',
'http://something.something.com/some/path/?query=string',
'http://something.something.com/some/path/?query=string#with-fragment',
);
foreach ($urls as $url) {
var_dump(parse_url($url, PHP_URL_PATH));
}
#=> string(1) "/"
#=> string(1) "/"
#=> string(10) "/some/path"
#=> string(11) "/some/path/"
#=> string(11) "/some/path/"
注意が、あなただけのURLスキームとURLオフホストを取り除くために探している、とあなたはにしたい場合はクエリとフラグメント保つ、あなたはこれを使用することができます。
foreach ($urls as $url) {
$url = parse_url($url);
$ret = $url['path'];
if ($url['query']) $ret .= "?{$url[query]}";
if ($url['fragment']) $ret .= "#{$url[fragment]}";
var_dump($ret);
}
#=> string(1) "/"
#=> string(1) "/"
#=> string(10) "/some/path"
#=> string(24) "/some/path/?query=string"
#=> string(38) "/some/path/?query=string#with-fragment"
をいっそ"?"
foreach ($urls as $url) {
$url = http_build_url(array_key_intersect(
parse_url($url),
array_flip(array('path', 'query', 'fragment'))
));
var_dump($url);
}
#=> string(1) "/"
#=> string(1) "/"
#=> string(10) "/some/path"
#=> string(24) "/some/path/?query=string"
#=> string(38) "/some/path/?query=string#with-fragment"
$url = "www.domain.com/sds?test=1&test2=2&test3=3";
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $query_array);
は何前の問題ではありません:あなたはPECL HTTP Extensionを使用している場合、あなたはhttp_build_url()メソッドを使用することができます。出力は
array {
'test' => string '1' (length=1)
'test2' => string '2' (length=1)
'test3' => string '3' (length=1)
}
$url = "http://php.net/manual/en/function.parse-url.php?arg=value#anchor";
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
上の例の出力になるでしょう:
Array
(
[scheme] => http
[host] => php.net
[path] => /manual/en/function.parse-url.php
[query] => arg=value
[fragment] => anchor
)
はPHP_URL_SCHEME、PHP_URL_HOST、PHP_URL_PORT、PHP_URL_USER、PHP_URL_PASS、PHP_URL_PATH、PHP_URL_QUERYかのいずれかを指定しparse-url
を参照してください。特定のURLコンポーネントを文字列として取り出すPHP_URL_FRAGMENT(PHP_URL_PORTが指定されている場合を除きます。この場合、戻り値は整数である)。
答えを調整するためのミラーをありがとう – vnimbala
- 1. PHPドメイン名拡張子を文字列から削除する
- 2. Regex.Replaceを使用して文字列から数字を削除するには?
- 3. javaを使用して文字列からhtmlタグを削除
- 4. PHPの文字列から括弧を削除するには?
- 5. javascriptを使って文字列から "\"文字を削除するには?
- 6. PHPは文字列から情報を削除します
- 7. PHP以外の文字を文字列から削除するには?
- 8. 文字列と文字列をすべて文字列から削除する
- 9. R内の別の列を使用してdata.frame内の文字列を文字列から削除する
- 10. 文字列jqueryから文字列を削除します
- 11. 正規表現を使用して文字列からeeを削除する
- 12. Visual Basicを使用して文字列からストップワードを削除する方法?
- 13. 文字列から大文字小文字を削除する
- 14. 文字列から削除
- 15. PHP:文字列から行を削除する
- 16. PHPで特定のテキストを文字列から削除する
- 17. PHP。文字列からリンクを削除する
- 18. 文字列から画像タグを削除し、文字列で
- 19. 文字列から単一文字を削除しますか?
- 20. 文字列から絵文字をすべて削除するには -
- 21. 文字列から重複する文字を削除する
- 22. antを使用してディレクトリ名から_DEV文字列を削除する必要があります
- 23. 文字列Unicode文字列から文字を削除します。
- 24. 文字列からホワイトリストにない文字をすべて削除します
- 25. jquery(問題あり)を使用してURLからクエリ文字列を削除
- 26. Java文字列から行末文字を削除する
- 27. 文字列からNULL文字を削除する方法
- 28. Nyquistの文字列から文字を削除する
- 29. 変数から文字列や文字を削除する
- 30. 文字列から不要な文字を削除する
ご質問のURLが訪問されたURLの場合のみ... –
良い点。問題はあまり明確ではなかった。正規表現の回答を削除した後に –
がマイ-1を削除しました。 'parse_url()'の使用を奨励してくれてありがとう。 –