我正在制作wordpress插件。我想获取我的网站的网址并获取页面名称,例如www.example.com/pagename
,在这种情况下,我想要pagename
。所以我使用本机PHP函数$_SERVER['REQUEST_URI']
来获取我的网站的URL。我将其存储在$url
变量中,如下所示。
$url= $_SERVER['REQUEST_URI'];
当我回复url
var
/ifar/wellington/
$name= "wellington"; /* I want it like this */
如何从此字符串中获取wellington
并将其存储在$name
中。
答案 0 :(得分:2)
实际上你应该使用路由器,如https://github.com/auraphp/Aura.Router或任何其他路由器。但简单快捷的答案将是
$parts = explode('/', trim($url, '/'));
$name = $parts[1];
如果你想获得第二个uri片段。
答案 1 :(得分:1)
您可以使用一些方法,我在下面放了两个快速简单的方法:
// Method One
$url = '/ifar/wellington/';
$url = trim($url, '/');
$urlParts = explode('/', $url);
$name = $urlParts[1];
// Method Two
$url = '/ifar/wellington/';
$url = trim($url, '/');
$name = substr($url, (strpos($url, '/') + 1));
虽然这取决于您是否可以确定您传入的URL始终以相同的格式返回。如果$_SERVER['REQUEST_URI']
返回/ifar/something/wellington/
之类的内容,则上述结果将不符合您的预期。
您可能会考虑拉出完整的网址然后使用parse_url()
拉出完整路径,然后找出您需要的部分。
虽然上述方法可能就足够了,但我不能肯定地说它们适用于所有用例,因为我不知道你的程序的输入/输出。
答案 2 :(得分:1)
$url= $_SERVER['REQUEST_URI'];
$name = explode("/",$url);
echo $name[1];
在$ name中,您在数组中获得了单独的字符串。如果您的域名将在您的域名后面的网址中排在第一位,您可以通过上面的回复来获取名称。