检索链接ID

时间:2011-05-31 17:13:52

标签: php

假设我们有以下链接

表示链接为****.com/index.php?id=4

<?=$id?>是4

表示链接为****.com/4

<?=$id?>是4

表示链接为****.com/4-keyowrd-keyword

$realid = array_shift(explode("-", $id));

所以<?=$realid?>是4

现在我的问题是针对****.com/4/keyword-keyword

的链接

然后如何获取id为4有没有办法做到这一点?

由于

3 个答案:

答案 0 :(得分:2)

如果您确实拥有包含该计划的完整网址(例如:http://something.com而不仅仅是某些东西),您可以这样做:

// Search in the query string
$url = 'http://something.php/index.php?id=4';
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $queryArr);
$id = $queryArr['id'];
echo $id; // 4

// Search in the path
$url = 'http://something.com/4/keyword-keyword';
$path = parse_url($url, PHP_URL_PATH);
$id = basename(dirname($path));
echo $id; // 4

// Search in the path (undefined length)
$url = 'http://something.com/4/keyword-keyword/foo/bar';
$path = parse_url($url, PHP_URL_PATH);
list(,$id) = explode('/', $path);
echo $id; // 4

如果你没有那个方案,你可以在它前面添加,例如:

$url = 'http://'.$url;

答案 1 :(得分:0)

使用$_SERVER['PHP_SELF']并展开\以获取变量

答案 2 :(得分:0)

$realid = array_shift(explode("/", $_SERVER['REQUEST_URI']));