0

次の URL がある場合:

http://www.mysite.com/games/topgame

php を使用して最後の「/」以降をすべて削除するにはどうすればよいですか?

したがって、次のものが残ります。

http://www.mysite.com/games/

私はこれを試しました:

    $currentUrl = 'http://www.mysite.com/games/topgame';     
    $newstr = substr($currentUrl, 0, strpos($currentUrl, '/', strpos($currentUrl, '/')+4));
4

4 に答える 4

1

これを試して:

<?php
print_r (dirname('http://www.mysite.com/games/topgame'));
?>
于 2013-04-21T06:23:36.510 に答える
0

パスからパーツを選択する関数がいくつかあります。

お気に入り:

  • basename() - パスの末尾の名前コンポーネントを返します
  • pathinfo() - ファイル パスに関する情報を返す
  • realpath() - 正規化された絶対パス名を返す

しかし、おそらくpathinfo()があなたのニーズに最適です:

<?php
$file = 'http://www.mysite.com/games/topgame/cool.php';

$path_parts = pathinfo($file);

echo $path_parts['dirname'] . "<br />";
echo $path_parts['basename'] . "<br />";
echo $path_parts['extension'] . "<br />";
echo $path_parts['filename'] . "<br />"; // since PHP 5.2.0

?>

出力:

http://www.mysite.com/games/topgame
cool.php
php
cool

ここから検索を開始... http://se1.php.net/manual/en/function.pathinfo.php

于 2013-04-21T07:19:08.297 に答える
0

このコードを試してください...

$currentUrl = 'http://www.mysite.com/games/topgame';     
$newstr = substr($currentUrl, 0, strrpos($currentUrl, '/'));

コードパッドを参照してください。

于 2013-04-21T06:20:30.973 に答える
0
  $newstr = substr($currentUrl, 0, strrchr($currentUrl, '/');
于 2013-04-21T06:22:33.343 に答える