2017-06-20 5 views
-1

Ich brauche zweites letztes Wort von einer URL zu erhalten, die durch "/" aufgeteilt .i versucht hatWie bekomme ich das zweitletzte Wort von der URL in PHP codeigniter?

$refer_split = explode("/", $refer); 
    echo $refer_split[6]; 

aber es funktioniert nicht bei kleinen Urls. bitte eine gute Art und Weise schlagen die secondlast Wort in PHP

+0

Zählen Sie die Anzahl der Array-Einträge zweiten geben, und einige grundlegende Mathematik? – CBroe

+0

'echo $ refer_split [count ($ refer_split) -2];' – apokryfos

+0

Mögliches Duplikat von [Wie erhält man eine Zeichenfolge vor dem letzten Schrägstrich und nach dem zweitletzten Schrägstrich in der URL] (https://stackoverflow.com/questions/20823748/how -to-get-string-vor-last-slash-und-nach-Sekunden-last-slash-in-url) –

Antwort

0

Versuchen folgendes zu finden:

$refer = "https://meta.stackexchange.com/questions/190344/replacing-urls-with-dummy-urls"; 
$refer_split = explode("/", $refer); 
echo (count($refer_split) > 1) ? $refer_split[ count($refer_split) - 2] : 'no parts available'; 
// echo's '190344' 

DEMO

0

Sie etwas tun können:

$split = explode("/", $refer); 
$count = count($split); 
if($count > 1){ 
    echo $split[$count - 2]; 
} 

Dieser Code gewonnen‘ t funktionieren, wenn Ihre URL-Zahl 1 ist, weil Sie versuchen würden, auf Element -1 zuzugreifen, das nicht existiert.

4

Verwendung CI in Funktionen Eingebaute

$url_count=$this->uri->total_segments(); 
echo $this->uri->segment($url_count-1); 

-1 verwendet wird, weil $this->uri->total_segments() diese Sie das letzte Wort geben und -1 wird letzte

+0

da Ihre CI auch einige seiner fertigen Funktionen verwenden könnte –

+0

Wenn es für Sie funktioniert und es Ihre Anforderung erfüllt ... akzeptieren Sie die Antwort: D –

Verwandte Themen