Как отображать данные в зависимости от категории URL-адреса с помощью switch case PHP?
из пути URL
mipagina.com/game/music/studio/this-is-my-favorite-music
я хочу, чтобы показать содержимое, когда пользователь получает изменить URL, путь:
mipagina.com/game/music/studio/
Если это так, я хочу показать все содержимое studio
важно, чтобы данные отображались с учетом последней категории.
другой пример:
mipagina.com/game/music/
Если это так, показать все данные о music
Как я могу перебрать эти данные в switch
switch ($i) {
case "studio":
echo "";
break;
case "music":
echo "";
break;
case "game":
echo "";
break;
}
2
1 answers
Сначала проверьте, что url-адрес структурирован так, как вы хотите:
$uri = $_SERVER['REQUEST_URI'];
$isValid = preg_match('/([\w-]+)\/?$/', $uri, $matches);
if($isValid){
// la acción que sea
}
Затем совпадение передается на switch:
switch ($matches[1]) {
case "studio":
echo "Estudio!!";
break;
// ... case ...
}
И вы ставите все это вместе на работу:
// obtienes la url
$uri = $_SERVER['REQUEST_URI'];
// validas la url y capturas la última parte de la misma
$isValid = preg_match('/([\w-]+)\/?$/', $uri, $matches);
// si es válida pasas la captura al switch
if($isValid) {
switch ($matches[1]) {
case "studio":
echo "Estudio!!";
break;
case "music":
echo "Music!!";
break;
case "game":
echo "Game!!";
break;
}
// si no es válida haces la acción que creas oportuna
} else {
// accion si la url no es válida
echo "No se encuentran resultados";
}
Здесь вы можете увидеть, как это работает.
Просто измените буквальный url переменной $uri
.
0
Author: OscarR, 2018-08-12 11:29:03