1

私はサイトを持っており、PHP で 1 つのページの URL を取得する必要があります。URLは何かかもしれないし、そうかもしれないし、そうかもwww.mydomain.com/thestringineed/しれwww.mydomain.com/thestringineed?data=1ないwww.mydomain.com/ss/thestringineed

それは常に最後の文字列ですが、その後は何も取得したくありませんか?

4

6 に答える 6

4

parse_urlあなたを助けるはずです。

<?php
   $url = "http://www.mydomain.com/thestringineed/";
   $parts = parse_url($url);

   print_r($parts);
?>
于 2012-05-04T12:38:40.220 に答える
2

parse_url 関数を使用して、戻り値のパス部分を調べます。このような:

$url='www.mydomain.com/thestringineed?data=1';
$components=parse_url($url);

//$mystring= end(explode('/',$components['path']));

// I realized after this answer had sat here for about 3 years that there was 
//a mistake in the above line
// It would only give the last directory, so if there were extra directories in the path, it would fail. Here's the solution:
$mystring=str_replace( reset(explode('/',$components['path'])),'',$components['path']); //This is to remove the domain from the beginning of the path.

// In my testing, I found that if the scheme (http://, https://, ...) is present, the path does not include 
//the domain. (it's available on it's own as ['host']) In that case it's just  
// $mystring=$components['path']);
于 2012-05-04T12:41:31.907 に答える
0
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

そしてあなたの出力は

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path
于 2012-05-04T12:53:33.390 に答える
0

以下を使用できます。

$strings = explode("/", $urlstring);

これにより、URL のすべての「/」が削除され、すべての単語を含む配列が返されます。

$strings[count($strings)-1] 

これで、必要な文字列の値が得られましたが、「?data=1」が含まれている可能性があるため、それを削除する必要があります。

$strings2 = explode("?", $strings[count($strings)-1]);

$strings2[0] 

URLから必要な文字列があります。

お役に立てれば!

于 2012-05-04T12:45:17.607 に答える
0

使用$_SERVER['REQUEST_URI']すると、現在のページの完全な URL が返されます。「/」で分割して、最後の配列インデックスを使用できます。最後の文字列になります

于 2012-05-04T12:42:18.500 に答える
0

parse_url()あなたが探している機能です。あなたが望む正確な部品は、を通じて受け取ることができますPHP_URL_PATH

$url = 'http://php.net/manual/en/function.parse-url.php';
echo parse_url($url, PHP_URL_PATH);
于 2012-05-04T12:41:15.233 に答える