正则表达式从url中排除文件名

时间:2014-03-27 17:17:30

标签: php regex

我需要一个将URL从文件名中排除的正则表达式。

输入:'something.something.com/som/som/som/abcd.html'

应该返回:'something.something.com/som/som/som/'

我创建了这个正则表达式:

((?:[a-z0-9\.\_]+)(?:\/)(?:.*?)(?:\/))(?:[a-z0-9]+)(?:\.)(?:[a-z0-9]+)

我尽力而为,并提供正确的输出(在regex101.com [PCRE]测试)。

我是否需要添加/删除其他内容?还有什么建议吗?并且不建议使用parse_url(),如果URL没有'http://'则没用。

1 个答案:

答案 0 :(得分:0)

使用PHP:

$dir = dirname("something.something.com/som/som/som/abcd.html");

使用正则表达式:

$dir = preg_replace("|[^/]+\.[^/]+$|", "$1", $dir);