简体   繁体   English

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM