正则表达式获取当前页面或目录名称?

JD *_*cks 2 php regex

我试图从网址获取页面或最后一个目录名称

例如,如果网址是:http://www.example.com/dir/我希望它返回dir或如果传递的网址是http://www.example.com/page.php我希望它返回page通知我不想要尾部斜杠或文件扩展名.

我试过这个:

$regex = "/.*\.(com|gov|org|net|mil|edu)/([a-z_\-]+).*/i";

$name = strtolower(preg_replace($regex,"$2",$url));
Run Code Online (Sandbox Code Playgroud)

我用PHP运行这个正则表达式,它什么也没有返回.(但是我在ActionScript中测试了相同的正则表达式并且它有效!)

那我在这里做错了什么,我怎么得到我想要的?

谢谢!!!

Mar*_*ers 6

/如果它还包含斜杠,请不要用作正则表达式分隔符.试试这个:

$regex = "#^.*\.(com|gov|org|net|mil|edu)/([a-z_\-]+).*$#i";
Run Code Online (Sandbox Code Playgroud)