我正在WordPress中构建一个库,我正在尝试抓取我的URL的特定部分以回显div的id。
这是我的网址:
http://www.url.com/gallery/truck-gallery-1
我想隔离画廊的id,它始终是一个数字(在这种情况下是1)。然后我想有办法在某个地方打印它,也许是以函数的形式。
答案 0 :(得分:2)
您最好使用$_SERVER['REQUEST_URI']
。由于它是URL中的最后一个字符串,因此您可以使用以下函数:
function getIdFromUrl($url) {
return str_replace('/', '', array_pop(explode('-', $url)));
}
@Kristian的解决方案只会返回0-9之间的数字,但只要您的ID以-
符号和最后一个元素分隔,此函数将返回给定任意长度的ID。 / p>
所以,当你打电话
echo getIdFromUrl($_SERVER['REQUEST_URI']);
在您的情况下,它会回显1
。
答案 1 :(得分:1)
如果ID不一定是相同的位数(如果你有任何ID大于9)那么你需要像preg_match()
那样强大的东西,或者使用字符串函数来修剪最后一个“ - ”字符。我可能会这样做:
<?php
$parts = parse_url($_SERVER['REQUEST_URI']);
if (preg_match("/truck-gallery-(\d+)/", $parts['path'], $match)) {
$id = $match[1];
} else {
// no ID found! Error handling or recovery here.
}
?>
答案 2 :(得分:0)
使用$ _SERVER ['REQUEST_URI']变量来获取路径(请注意,这与主变量不同,后者返回类似http://www.yoursite.com的内容)。
然后将其分解为一个字符串并返回最后一个字符。
$path = $_SERVER['REQUEST_URI'];
$ID = $path[strlen($path)-1];
当然,您可以执行其他类型的字符串操作来获取字符串的最终字符。但这很有效。