31

したがって、テスト ケース文字列は次のようになります。

http://example.com/?u=ben

または

http://example.com

「/」が最後に出現した後のすべてを削除しようとしていますが、それが「http://」の一部でない場合のみです。これは可能ですか!?

私はこれまでのところこれを持っています:

$url = substr($url, 0, strpos( $url, '/'));

しかし、機能しません。最初の '/' の後のすべてを取り除きます。

4

4 に答える 4

16

このタイプのジョブ用に設計されたツールparse_urlを使用する必要があります。

url.php

<?php

$urls = array('http://example.com/foo?u=ben',
                'http://example.com/foo/bar/?u=ben',
                'http://example.com/foo/bar/baz?u=ben',
                'https://foo.example.com/foo/bar/baz?u=ben',
            );


function clean_url($url) {
    $parts = parse_url($url);
    return $parts['scheme'] . '://' . $parts['host'] . $parts['path'];
}

foreach ($urls as $url) {
    echo clean_url($url) . "\n";
}

例:

·> php url.php                                                                                                 
http://example.com/foo
http://example.com/foo/bar/
http://example.com/foo/bar/baz
https://foo.example.com/foo/bar/baz
于 2012-05-24T23:42:30.473 に答える
0
$cutoff = explode("char", $string); 
echo $cutoff[0]; // 2 for what you want and 3 for the index

また

echo str_replace("http://", "", $str);

于 2012-05-24T23:37:29.700 に答える