PHP:如何从URL中删除所有类型的扩展(包括句点)

kee*_*279 1 php url strip

我是PHP的新手,希望有人可以帮助我.

我想让PHP给我网站当前页面的名称.重要的是我需要这个没有任何前导斜杠和没有任何尾随扩展等,只有普通的页面名称.

示例:
页面的URL是http://www.myurl.com/index.php?lang=en 在这种情况下,它应该只返回"index".

我找到了一种方法来使用以下,但无法正常删除后的部分,因为这是变量(可以是刚刚摆脱的前沿部分.php.php?lang=en.php=lang=de等).

$pageName = basename($_SERVER["REQUEST_URI"]);
Run Code Online (Sandbox Code Playgroud)

我发现的唯一的事情是以下,但这不包括变量扩展部分:

$pageName = basename($_SERVER["REQUEST_URI"], ".php");
Run Code Online (Sandbox Code Playgroud)

有人能告诉我如何摆脱尾随部分吗?

非常感谢,迈克

Yos*_*shi 6

您可以parse_url结合使用pathinfo:

<?php
$input  = 'http://www.myurl.com/index.php?lang=en';
$output = pathinfo(parse_url($input, PHP_URL_PATH), PATHINFO_FILENAME); 

var_dump($output); // => index
Run Code Online (Sandbox Code Playgroud)

演示:https://eval.in/382330