今天做个项目,需要获取指定URL的完整路径,但是不需要URL中的文件名,
查阅了相关函数,PHP提供有一个parse_url()函数,使用过后获取到的还是带文件名。
网站还有个 正则表达式版本的,一样不行。姑且就自己写一个了。
水平有限,实现功能为主。
以下四行正则表达式版本无效
$search = '~^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?~i'; $url = trim($url); preg_match_all($search, $url ,$rr); print_r($rr);
以下为本人自己实现的方法,简单有效。
function getUrlPath($url){ $urls=explode("/",$url); $url=""; $urls_c=count($urls)-1; for($i=0;$i<$urls_c;$i++) { $url.=$urls[$i]."/"; } return $url; }