今天写表白墙时候的导航判断遇到的这个问题。我的解决思路是这样:
判断当前的php文件名来确定导航条的哪块高亮。
那php如何获取当前的url文件名呢?
我是这样处理的 :shock:
教程
首先肯定是要获取当前页面URL的,在这里我们使用php的$_SERVER['PHP_SELF']
来获取获取网页地址
假设url为 https://www.jb51.net/index.php
$php_Self= $_SERVER['PHP_SELF']; //获取网页地址 //输出结果:https://www.jb51.net/index.php
输出后发现,我们只需要index.php,前面一大串东西都是没用的。
怎么办呢?
这里我们就用到了substr()函数。
substr()
是用来返回字符串的一部分:
substr语法
substr(string,start,length)
必需。规定在字符串的何处开始。
- 正数 – 在字符串的指定位置开始
- 负数 – 在从字符串结尾开始的指定位置开始
- 0 – 在字符串中的第一个字符处开始
可选。规定被返回字符串的长度。默认是直到字符串的结尾。
- 正数 – 从 start 参数所在的位置返回的长度
- 负数 – 从字符串末端返回的长度
看到这个函数的第二个参数,规定在字符串的何处开始。很显然是在url中的最后一个/开始才是我们所需要的。
于是我们又需要用到 strrpos()
函数来取得/最后一次出现的位置。
strrpos语法
strrpos(string,find,start)
所以总代码如下:
$php_Self = substr($_SERVER['PHP_SELF'],strripos($_SERVER['PHP_SELF'],"/")+1); //为啥要加1呢?因为要排除前面的那个 /
比较推荐的一个函数
//获得当前的脚本网址 function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; } else { $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING"])) { $nowurl = $scriptName; } else { $nowurl = $scriptName."".$_SERVER["QUERY_STRING"]; } } return $nowurl; }
如果感觉上面的文章不够细,建议大家看这篇文章:https://www.jb51.net/article/22056.htm
这样就解决了,很多情况下都是需要一些字符串截取函数的帮助才可以得到我们想要的结果。
获取,当前执行,php文件名
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。