Frage

Mögliches Duplikat:
Extrahieren Sie den letzten Teil einer URL

Ich habe eine URL wie diese:

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

Ich möchte nur den Produktnamen aus dem Ende "Coleman-Familie-Cookset" extrahieren.

Wenn ich Parse_url und print_r verwende, habe ich Folgendes:

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

Wie halte ich dann "Coleman-Familie-Cookset" vom Ende?

Danke im Voraus

War es hilfreich?

Lösung

$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;

Andere Tipps

Alle oben genannten Antworten funktionieren, aber alle verwenden unnötige Arrays und reguläre Ausdrücke / mit was Sie bekommen können strrpos() und als Sie die Zeichenfolge mit extrahieren können substr():

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

Sie müssen vielleicht hinzufügen +/- 1 nach strrpos()

Dies ist eine viel effektivere Lösung als die Verwendung preg_* oder explode, aller Arbeiten aller Arbeiten.

Sie haben die Pfadvariable (aus dem Array, wie oben gezeigt). Verwenden Sie Folgendes:

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

Hoffe das hilft.

$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

Prüfen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top