将图像 url 分解为 PHP 中的三个子部分

Breaking down a image url into three sub parts in PHP

假设我有这张图片 URL: http://static2.tripoto.com/media/filter/medium/img/11099/TripDocument/chiang_mai_street_market.jpg

我想从中提取 3 个东西 url:

您可以通过两种方式执行此操作。

1.pathinfo 函数 - http://php.net/manual/en/function.pathinfo.php

2.using explode 带分隔符 / 并从那里处理数组。

虽然不推荐第二个。

您也可以使用正则表达式,如果您愿意:

preg_match_all('/^.*(medium|small|thumbnail)\/(.*)\/([^\/]+)$/', $url, $matches);

结果:

  • $匹配[0] = $url
  • $匹配[1] = "medium"
  • $匹配[2] = "img/11099/TripDocument"
  • $匹配[3] = "chiang_mai_street_market.jpg"

假设:

  • 在给定的 url 中有 none 其他 "medium"、"small" 或 "thumbnail" 字符串,在此之前您需要。

编辑:

为了使其更灵活地用于另一个 sizes/phrases,您可以将短语提取到另一个数组,如下所示:

$sizes = ['medium', 'small', 'thumbnail'];

preg_match_all('/^.*(' . implode('|', $sizes ) . ')\/(.*)\/([^\/]+)$/', $url, $matches);