php - 什么正则表达式会发现文件 url 是否具有特定扩展名

标签 php regex

我的有效 url 可能看起来或多或少像这样

http://someurl.com/some/path/file.pdf
or 
http://someurl.com/some/path/file.pdf?param=value
or 
http://someurl.com/some/path/file.pdf?param=value&second=val

文件扩展名可以是 .pdf,或其他一些扩展名,如 .jpg 或 .psd,或者什么都没有。

我存储的 url 没有 someurl.com 部分,所以它是 url 的 some/path/file.pdf 部分

如果文件扩展名存在,我如何使用正则表达式知道它?正则表达式是正确的工具吗?

最佳答案

我会使用 parse_url()pathinfo()。这些是最适合这项工作的函数。

$url = 'http://someurl.com/some/path/file.pdf?param=value';

$path = parse_url($url, PHP_URL_PATH);

$ext = pathinfo($path, PATHINFO_EXTENSION);

var_dump($ext); // string(3) "pdf"

See is on CodePad.org .

可以使用正则表达式,但它会更难理解。

关于php - 什么正则表达式会发现文件 url 是否具有特定扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643601/

相关文章:

php - 使用 PHP 打开 MSMQ 队列

php - 将货币符号从 php 发送到 flash

php - 添加自定义字段 jQuery 数据表

php - mysql中将行转换为列

php - 如何解决 €25.99 vs 25.99€ preg_match 问题?

javascript正则表达式用于逗号分隔的数字重复项

java - Java 中的正则表达式 : Matching a date value surrounded by other data

Java 高效替换除非匹配复杂的正则表达式

java - 为什么我的正则表达式匹配但不捕获组?

javascript 验证 SSID 和 WPA/WPA2