php匹配字符串父级URL字符串.忽略子目录路径



我想在模板文件(Drupal 7)中实现一个简单的条件,该文件检查URL路径,并且仅在字符串确切/页面是父时才在条件下运行。目前,我有一个有条件的工作,但是匹配时的条件仍针对URL字符串的子页面执行。例如:

$url_vars = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($url_vars, 'parent-page') !== false) {
// Do something
}

这仍然适用于任何层次结构,因此:

parent-page/sub-page

我如何进行此工作,以便条件严格管理父级目录而不是子目录?任何指导或想法都会有很大的帮助。我更喜欢处理此服务器端,而不是在前端。

谢谢!标记。

我不确定您的REQUEST_URI字符串会有所不同,但这可能足够:

if(strpos($_SERVER['REQUEST_URI'],'parent-page')!==false && strpos($_SERVER['REQUEST_URI'],'parent-page/')===false){

这只是检查parent_page(静态字符串)是否存在于REQUEST_URI中,并且没有尾随的/

如果这没有问题,请提供有关您的URI值的更多特定详细信息。

潜在有用的参考:https://stackoverflow.com/a/4731027/2943403

您可以用'parent-page'爆炸URL,并计算数组以查看是否是sublevel。

$arr = explode("parent-page", $url_vars);
If(count($arr) <= 1) {
      // Parent-page
}

由于爆炸删除了"父页",并创建其余的数组,您最终应该以一个保存" http://"的项目。
如果您获得了您的子页面的第二个项目。

$_GET['q']变量应包含当前页面路径。尝试使用它而不是$url_vars

有关上下文模块上一些更高级的用法检查:

https://www.drupal.org/project/context

相关内容

  • 没有找到相关文章

最新更新