Регулярка для php. Обрезать часть url с конца

Есть ссылка https://site.com/ru/folder/product/el/drop

Подскажите какой регуляркой можно обрезать эту ссылку начиная с конца до первого / то есть что бы получилось: https://site.com/ru/folder/product/el

Буду очень признателен за помощь.


Ответы (1 шт):

Автор решения: Алексей Шиманский
$str = 'https://site.com/ru/folder/product/el/drop';
echo substr($str,0, strrpos($str,"/"));  // strripos  maybe ?

суть в том что бы контролировать вложенность, т.е. обрезать до 1 встретившегося с конца слэша, до 2 и т.д.

$str = 'https://site.com/ru/folder/product/el/drop';

function getStringFromStartToNSlashFromEnd($str = '', $slashNumber = 1) {
    $slashesCount = 0;
    for ($i = strlen($str) - 1; $i > 0; --$i) {
        if ($str[$i] === '/') {
            $slashesCount++;
        }
        
        if ($slashesCount === $slashNumber) {
            return substr($str, 0, $i);
        }
    }
}

echo getStringFromStartToNSlashFromEnd($str, 2);

NOTE: доп проверок на всяки пустые строки и что слэшей меньше, чем указано, тут нет

→ Ссылка