[英]regex to exclude filename from url
I require a regex that will exclude file name from URL. 我需要一个正则表达式,它将排除URL中的文件名。
Input: 'something.something.com/som/som/som/abcd.html'
输入: 'something.something.com/som/som/som/abcd.html'
Should return: 'something.something.com/som/som/som/'
应该返回: 'something.something.com/som/som/som/'
I created this regex: 我创建了这个正则表达式:
((?:[a-z0-9\\.\\_]+)(?:\\/)(?:.*?)(?:\\/))(?:[a-z0-9]+)(?:\\.)(?:[a-z0-9]+)
I tried whatever I can and it is giving correct output (tested at regex101.com [PCRE]). 我尽力了,它给出了正确的输出(已在regex101.com [PCRE]上进行了测试)。
Do I need to add/delete anything else? 我是否需要添加/删除其他内容? Any more suggestions? 还有其他建议吗? And don't suggest to use parse_url()
, it is useless if URL don't have 'http://'. 并且不建议使用parse_url()
,如果URL没有'http://'则没有用。
Using PHP: 使用PHP:
$dir = dirname("something.something.com/som/som/som/abcd.html");
Using regex: 使用正则表达式:
$dir = preg_replace("|[^/]+\.[^/]+$|", "$1", $dir);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.