<?php
$url = '#39;;
//方法1
function getExt($url)
{
$parseUrl = parse_url($url);
$baseName = basename($parseUrl['path']);
$arr = explode('.', $baseName);
return $arr[count($arr)-1];
}
var_dump(getExt($url));
//方法2
function getExt2($url)
{
$baseName = basename($url); // fg.php?id=1
$position1 = strpos($baseName, '.'); // 点第一次出现的位置 2
$position2 = strpos($baseName, '?'); // 问号第一次出现的位置 6
//如果? 第一次出现的位置不为0,截取
if ($position2 > 0) {
$ext = substr($baseName, $position1 + 1, $position2 - $position1 - 1);
} else {
$ext = substr($baseName, $position1);
}
return $ext;
}
var_dump(getExt2($url));
本篇用到的函数释义:
parse_url() 解析 URL,返回其组成部分
basename() 函数返回路径中的文件名部分
explode() 函数把字符串打散为数组
strpos() 查找字符串在另一字符串中第一次出现的位置(区分大小写)
substr () 返回字符串的子串