0

重複の可能性:
URL の最後の部分を抽出する

次のような URL があります。

http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset

末尾の商品名「Coleman-Family-Cookset」だけ抜き出してほしい

parse_url と print_r を使用すると、次のようになります。

Array (
    [scheme] => http
    [host] => www.domain.co.uk
    [path] => /product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
) 

「Coleman-Family-Cookset」を最後から削除するにはどうすればよいですか?

前もって感謝します

4

4 に答える 4

7

上記のすべての答えは機能しますが、すべて不必要な配列と正規表現を使用します。最後の位置が必要であり、/次のstrrpos()方法で文字列を抽出できますsubstr()

substr( $url, 0, strrpos( $url, '/'));

+/- 1後で追加する必要があるかもしれませんstrrpos()

preg_*これは、 orを使用するよりもはるかに効果的なソリューションですがexplode、すべて機能します。

于 2012-02-19T12:30:03.067 に答える
1
$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;
于 2012-02-19T12:23:10.453 に答える
1
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

テスト

于 2012-02-19T12:23:26.333 に答える
1

パス変数があります(上記の配列から)。以下を使用します。

$tobestripped=$<the array name>['path']; //<<-the entire path that is
$exploded=explode("/", $tobestripped);
$lastpart=array_pop($exploded);

お役に立てれば。

于 2012-02-19T12:23:52.370 に答える