我想使用网址突出显示当前标签
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$gallerypageurl="http://www.domain.com/gallery/";
if ($gallerypageurl==$url){ echo "selected"; }else { echo "";}
当网址为 http://www.domain.com/gallery/ 时,会突出显示图库标签 但我的画廊有一个分页,所以当我去第二页时,网址是 http://www.domain.com/gallery/2/ 。
这不会突出显示当前图库标签,因为$ url( http://www.domain.com/gallery/2/ )不等于$ gallerypageurl( http ://www.domain.com/gallery/ )
如何仅提取没有页码/ 2 /或/ 3 /
的页面网址答案 0 :(得分:1)
您可以使用(例如......)stristr
:
if (stristr($url, $gallerypageurl) !== false)
{
// $gallerypageurl was found in $url
echo "selected";
}
答案 1 :(得分:1)
你可以用
完成if (strpos($url, $gallerypageurl) !== false) {
echo 'selected';
}
答案 2 :(得分:0)
如果部分名称位于网址路径的第一段,则此功能仅 。
function inSection($section, $url)
{
$path = parse_url($url, PHP_URL_PATH);
if(preg_match('@^/([^/]+)/?@', $path, $matches)) {
return $matches[1] === $section;
}
return false;
}
echo inSection('gallery', 'http://www.domain.com/gallery/2/')
? 'selected' : '';
答案 3 :(得分:0)
您可以使用explode函数将请求uri拆分为数组,然后检查数组键是否需要:
$uri = 'http://www.domain.com/gallery/2';
$parts = explode('/', $uri);
echo 'gallery' === $parts[3] ? 'selected' : '';
之前拨打array_shift
两次,跳过http
和域名,并将数组编入索引。
顺便说一下,您应该在进一步处理之前清理$_SERVER
密钥。