0

クライアントが何千枚もの写真を Flickr にアップロードしている WordPress サイトで作業していますが、それらをすべて WordPress に戻し、適切な投稿に関連付けてほしいと思っています。

何千もの画像がありますが、実際には約 50 の一意の画像しかありません。他のすべてのバージョンは同じ画像ですが、Flickr の別の場所にアップロードされているか、サイズや名前がわずかに異なります。

以下のようなリストに基づいて、すべての一意の画像を追跡するのを支援するために、強調表示した部分、すべてのレコードを PHP 配列にプルする必要があります。キャッチは、強調表示した部分であり、確認したいものですUNIQUE配列内のすべてのレコードの中にあります。

すべてのレコードを持つ既存の PHP ARRAy を取得し、値文字列のその部分に基づいて配列に一意の値のみを表示するのに役立ちますか?

これは正規表現の使用例ですか?

正規表現などを使用している場合、検索できるパターンの/4485116555_ /10 digitsに、_

目標に一歩近づくための助けに感謝します。これは大きなパズルの 1 ピースにすぎません。

ここに画像の説明を入力

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 に答える