получить последнюю часть динамического URL - PullRequest
0 голосов
/ 28 ноября 2018

Я нашел способ получить последнюю часть URL, я просто не знаю, есть ли еще лучший способ, поскольку я хочу, чтобы он был динамическим.

Вот как я это сделал:

$url = $_SERVER['REQUEST_URI'];
$categoryName = basename($url);

Последняя часть URL в этом случае всегда является категорией (например, ужас) в моей базе данных, поэтому URL всегда будет выглядеть так:

http://localhost:8888/blog/public/index.php/categories/Horror

или

http://localhost:8888/blog/public/index.php/categories/Fantasy

Я думаю, вы поняли мою точку зрения.

Ну, вопрос в том, есть ли лучший способ или мой, хорошо?Особенно если смотреть на

$_SERVER['REQUEST_URI']

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Вы всегда можете использовать простое регулярное выражение, чтобы получить его.

$re = '@.*/(.*)@m';
$str = 'http://localhost:8888/blog/public/index.php/categories/Horror';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

echo $matches[0][1];
//outputs `Horror`
0 голосов
/ 28 ноября 2018

, если вы используете Laravel или Symphony * end(Request::segments())

0 голосов
/ 28 ноября 2018

Используйте explode() для разделения URL на / разделитель и используйте end() для получения последнего элемента массива.

$url = "http://localhost:8888/blog/public/index.php/categories/Horror";
$categoryName = @end(explode("/", $url));
// Horror
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...