получить через php уровень вложености в url

U
На сайте с 24.02.2009
Offline
116
2068

получаем url

//$url=$_SERVER['REQUEST_URI'];

если урл вида http://site.ru - то уровень ($level ="1")

если url вида http://site.ru/cat/ то уровень ($level ="2")

если url вида http://site.ru/cat/secret то уровень ($level ="3")

и.тд

как через php получить уровень? думаю нужно считать количество ''/'' но как сделать рабочий скрипт не знаю.

Подскажите пожалуйста :)

C
На сайте с 04.02.2005
Offline
291
#1

explode('/', $url)

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#2

Вы укажите точный формат урла.

А то http://site.ru/cat/ - со слешом на конце, а http://site.ru/cat/secret без слеша.

Если они разные, ну то есть с/без, то как то так.

1. Проверяем последний символ строки, если он слэш, то убираем его.

2. проверяем есть ли что-то типа www или http:// и отрезаем их.

Итого у нас остается site.ru/cat1/cat2/cat3/.../catN

Финал:

$level = count(explode('/', $strokaPosleNashihPreobrazovanii));

Подпись))
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#3

Вообще то принято считать уровнем вложенности кол-во кликов от главной страницы.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#4

Да у нас тут другой "уровень":)

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#5
Милованов Ю.С:
Да у нас тут другой "уровень":)

Эта задача называется - подсчитать кол-во символов в строке :)

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#6

Да я вообще предлагаю создать топик "как правильно создать тему, описать проблему, хотелки, потребности бла-бла-бла" и закрепить его.

Тем у кого меньше 50 сообщений подгружать его сверху во фрейме на 50% экрана:)

LEOnidUKG
На сайте с 25.11.2006
Online
1774
#7

$url=$_SERVER['REQUEST_URI'].'/';

$url=str_replace(array('http://','//'),'',$url);

$level=substr_count($url,'/');

if (!$level) {$level=1;}

echo $level;

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
C
На сайте с 04.02.2005
Offline
291
#8

$_SERVER['REQUEST_URI'] протокол не возвращает

можно обойтись без

$url=str_replace(array('http://','//'),'',$url);

LEOnidUKG
На сайте с 25.11.2006
Online
1774
#9
Chukcha:
$_SERVER['REQUEST_URI'] протокол не возвращает
можно обойтись без
$url=str_replace(array('http://','//'),'',$url);

Эт я уже уработался 😂

Ну http:// можно и убрать, а / нужно оставить. Они для фильтра окончания урла.

C
На сайте с 04.02.2005
Offline
291
#10
Эт я уже уработался

Надо себя беречь

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий