【发布时间】:2013-02-27 15:49:10
【问题描述】:
我有这个自动生成的网址。
uploads/1/0/1/7/10178123/4320885_orig.png
我需要从这个 url 获取图像的名称和扩展名,在这种情况下是 4320885_orig.png
我无法编写正则表达式来查找名称和扩展名。
【问题讨论】:
我有这个自动生成的网址。
uploads/1/0/1/7/10178123/4320885_orig.png
我需要从这个 url 获取图像的名称和扩展名,在这种情况下是 4320885_orig.png
我无法编写正则表达式来查找名称和扩展名。
【问题讨论】:
我建议你检查 php 的 Basename 函数而不是使用正则表达式
echo basename("uploads/1/0/1/7/10178123/4320885_orig.png");
//result: 4320885_orig.png
【讨论】:
不要使用正则表达式,使用pathinfo...
echo pathinfo('uploads/1/0/1/7/10178123/4320885_orig.png', PATHINFO_BASENAME);
【讨论】:
试试pathinfo():
$path = 'uploads/1/0/1/7/10178123/4320885_orig.png';
echo pathinfo($path, PATHINFO_BASENAME); //png
您也可以获取路径的其他组件:
$path_parts = pathinfo($path);
echo $path_parts['extension'], "\n"; //png
echo $path_parts['dirname'], "\n"; //uploads/1/0/1/7/10178123
echo $path_parts['basename'], "\n"; //4320885_orig.png
echo $path_parts['filename'], "\n"; //4320885_orig
请参阅PHP documentation on pathinfo() 了解更多信息。
【讨论】: