- array_search: documentation ( source)
- array_slice: documentation ( source)
- array_flip: documentation ( source)
- explode: documentation ( source)
- join: documentation ( source)
<?php
$uris = [
'/auth/logout/msg/session/redirect_uri/sf/quote-details/show/632',
'/auth/logout/msg/something/someothersomething/session/redirect_uri/sf/quote-details/show/632'
];
foreach($uris as $uri) {
$pieces = explode('/', $uri);
if ($pos = array_search("redirect_uri", $pieces, true) !== FALSE) {
$cdr = array_slice($pieces, array_flip($pieces)['redirect_uri']+1);
echo $uri, ' -> ', join('/', $cdr), "\n";
}
}