0

我正在一个 WordPress 网站上工作,客户已将数千张照片上传到 Flickr,现在希望我将它们全部移回 WordPress 并将它们与适当的帖子相关联。

尽管有数千张图片,但实际上只有大约 50 张独特的图片,所有其他版本都是相同的图片,但上传到 Flickr 上的不同位置或大小或名称略有不同。

在帮助我根据下面的列表追踪所有独特的图像时,我突出显示的那部分,我需要将每条记录拉到 PHP 数组中,catch 是我突出显示的部分,是我想要确保的UNIQUE在数组中的所有记录中。

在获取具有每条记录的现有 PHP ARRAy 并使数组仅显示基于 Value 字符串的该部分的唯一值方面有什么帮助吗?

这是正则表达式用例吗?

如果它使用正则表达式或类似的,我认为它可以寻找一个模式,/4485116555_ /然后10 digits是一个_

感谢任何帮助让我离目标更近一步,这只是大难题的一小部分。

在此处输入图像描述

http://farm5.static.flickr.com/4042/4485116555_19cc0eaa85.jpg
http://farm3.static.flickr.com/2703/4485767454_77476dbdd0.jpg
http://farm5.static.flickr.com/4008/4485116637_ff085b0ab2.jpg
http://farm5.static.flickr.com/4002/4485766896_af83d349c4.jpg
http://farm5.static.flickr.com/4037/4485766950_50d5739344.jpg
http://farm3.static.flickr.com/2785/4485116905_1fa0e2ea6c.jpg
http://farm5.static.flickr.com/4052/4704387613_77542dac2e.jpg
http://farm3.static.flickr.com/2734/4485767622_7b04c3bd3e.jpg
http://farm5.static.flickr.com/4037/4485767292_1a37fe6c57.jpg
http://farm5.static.flickr.com/4038/4485116955_f9c47672c3.jpg
http://farm5.static.flickr.com/4051/4485115681_6d7419a00b.jpg
http://farm3.static.flickr.com/2753/4485116095_30161a56bb.jpg
http://farm5.static.flickr.com/4123/4831194968_3977dff9dc.jpg
http://farm5.static.flickr.com/4054/4538941056_cda5a8242d.jpg
http://farm3.static.flickr.com/2091/4515081466_43cd1624ce.jpg
http://farm3.static.flickr.com/2684/4485766664_3bb9dd9c80_m.jpg
http://farm5.static.flickr.com/4010/4485115557_a38aac0e1f.jpg
http://farm5.static.flickr.com/4055/4485115633_19e6e92276.jpg
http://farm5.static.flickr.com/4045/4485766710_08691e99ed_m.jpg
http://farm5.static.flickr.com/4024/4485115521_9ab2a33d53_m.jpg
http://farm5.static.flickr.com/4048/4505577820_81ce080f2a_t.jpg
http://farm6.static.flickr.com/5294/5389182894_920a54ce97_m.jpg
http://farm5.static.flickr.com/4152/5073487038_5bdb9e3cbc_t.jpg
http://farm5.static.flickr.com/4024/4485115401_67a8957509_m.jpg
http://farm5.static.flickr.com/4062/4485766842_2209843592_m.jpg
4

2 回答 2

1

使用此代码获取您的 ID 部分

$url = 'Your image url';
$path = parse_url($url, PHP_URL_PATH);
$pathFragments =  explode('/', $path);
$end = end($pathFragments);

$id = substr($end,0,9);

然后运行 ​​array_unique() 以获取唯一值。

于 2013-05-12T06:48:41.507 回答
1
$ids = array(); // Where we will keep our unique list of IDs

$lines = array(/* your list of URLs here */);
foreach ($lines as $line) {
  preg_match(
    '|^http://[A-Za-z0-9\\.]+/[0-9]+/([0-9]+)_[a-f0-9]+.*\\.jpg$|',
    'http://farm5.static.flickr.com/4054/4538941056_cda5a8242d.jpg',
    $matches
  );
  echo $matches[1]; // 4538941056 
  $ids[] = $matches[1]; // Push that into the IDs array
}
$ids = array_unique($ids);
print_r($ids);
于 2013-05-12T06:24:42.870 回答