Ziehen Sie den letzten Teil von einer URL aus [Duplikat
-
27-10-2019 - |
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
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);