在URL中的php文件名之后,在哪里可以检索信息?
给定由wordpress主题生成的url:在URL中的php文件名之后,在哪里可以检索信息?,php,wordpress,Php,Wordpress,给定由wordpress主题生成的url: <a href="http://localhost/~site/sitename/index.php/subjects/">Subjects</a> 加载目标页面后,在哪里可以检索“主题”信息(从index.php/之后)?这样我就可以在条件语句中使用它了 这有意义吗 谢谢。根据上面的链接,该链接直接访问主题中的d索引页,没有表示从d主题检索文件名的信息。GET变量可以与主题一起使用,比如subject?subject=s
<a href="http://localhost/~site/sitename/index.php/subjects/">Subjects</a>
加载目标页面后,在哪里可以检索“主题”信息(从index.php/之后)?这样我就可以在条件语句中使用它了
这有意义吗
谢谢。根据上面的链接,该链接直接访问主题中的d索引页,没有表示从d主题检索文件名的信息。GET变量可以与主题一起使用,比如subject?subject=something 然后您可以通过调用$\u get['subject']获取d信息
如果d信息存储在DB中…您可以在subject中使用d信息进行den查询以获取d数据源名称并链接到您的文件位置以获取d实际文件,但使用get可确保您的数据不受保护….我不确定您是否要专门搜索“subjects”页面,或者如果您想在index.php/your page/的任何页面上执行相同的操作。无论哪种方式,都可以使用正则表达式查找该页面名称字符串
$href = "http://localhost/~site/sitename/index.php/subjects/";
$regex = "/(?:index.php\/)([\w-]+)\/$/";
preg_match($regex, $href, $matches);
print_r($matches);
$matches
是匹配字符串的数组。如果找到匹配项,“受试者”应为$matches[1]
关键是([\w-]+)
,它代表可以用破折号分隔的任意数量的单词字符,如“我的精彩页面”或“页面”等页面名称。您可以将$matches[1]
与“主题”或您喜欢的任何页面名称进行比较
如果您只想专门查找“主题”一词,可以将([\w-]+)
替换为文字(主题)
请注意,preg_match()
实际上返回值,无论是否首先存在匹配:
- 1是一场比赛
- 0表示不匹配
- 如果发生错误,则为FALSE
if (preg_match($regex, $href, $matches))
// your logic
更多信息:您只想从url中提取字符串吗?嗨,克里斯。我想显示或不显示子菜单,这取决于用户当前是否在“主题”页面上。因此,我想知道在加载页面后是否可以从某处检索“主题”。酷。谢谢,我会试一试的。我认为这行不通$_GET用于获取查询参数,该参数将在
?
运算符eah之后指定。我真的不确定“library”字符串是什么。我想这可能与Apache有关?我不知道。我想我解释得不好。我肯定是的。用户将从我的网站的主菜单中选择一个菜单项;我给出的url是Wordpress生成的页面请求。加载页面后,如果她选择了“主题”菜单项,她应该在页面上看到一个单独的子菜单,否则,不应该有子菜单。所以我想知道“/subjects”是否存储在某个地方,以便我可以访问它并使用它作为显示菜单的条件。对不起,我不熟悉WP如何处理或生成页面URL。我的解决方案是,一旦URL在页面加载后可用,就在URL中查找“主题”。看起来这就是你需要的。我想我得到了ol'tunnel的愿景。我不需要使用正则表达式来完成我想要做的事情,但无论如何,你帮我解决了我的问题,所以谢谢。:)