Регулярка для 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: доп проверок на всяки пустые строки и что слэшей меньше, чем указано, тут нет