Php Preg_replace String с массивом?

У меня возникли проблемы с PHP preg_replace.

У меня есть URL-адрес, который содержит URL-адрес изображения с добавленными номерами, например:

$url = http://example.com/111.jpg,121,122,123,124,125,126

Цифры в конце всегда разные.

Чтобы отделить жало, я использую

$parts = взорвать(",", $url);

Чтобы выяснить, сколько существует чисел, я использую:

$numbers = количество ($ частей);

Моя проблема заключается в том, чтобы заменить конец $url[0] на $parts (начиная с parts[1] и заканчивая частями[$numbers-1])

Есть идеи, что мне нужно изменить??

Вот мой код:

for($i=1;$i<=10;$i++) {
   $array[] = preg_replace('/\d+.jpg/',sprintf("%01d.jpg",$i),$url[0]);
}

<img src="<?php echo($array[0]); ?>"/>
<img src="<?php echo($array[1]); ?>"/>
<img src="<?php echo($array[2]); ?>"/>
<img src="<?php echo($array[3]); ?>"/>
<img src="<?php echo($array[4]); ?>"/>
<img src="<?php echo($array[5]); ?>"/>
<img src="<?php echo($array[6]); ?>"/>
<img src="<?php echo($array[7]); ?>"/>
<img src="<?php echo($array[8]); ?>"/>
<img src="<?php echo($array[9]); ?>"/>

person grosseskino    schedule 11.07.2011    source источник
comment
Ваш вопрос трудно разобрать. Каков ваш желаемый результат?   -  person Sander Marechal    schedule 11.07.2011
comment
Выглядит неплохо. В чем проблема?   -  person powtac    schedule 11.07.2011


Ответы (2)


Пытаться

$array[] = preg_replace('/\d+.jpg/', "{$url[$i]}.jpg"), $url[0]);

Это вытянет конечные числа по одному. Ваша первоначальная версия заменяла ваш счетчик циклов, который почти наверняка НЕ ​​будет таким же, как конечные числа.

Ваш генерирует

http://example.com/001.jpg
http://example.com/002.jpg
etc...

и вы хотите

http://example.com/121.jpg
http://example.com/122.jpg
etc...
person Marc B    schedule 11.07.2011

$url   = 'http://example.com/111.jpg,121,122,123,124,125,126';
$parts = explode(',', $url);
$url   = array_shift($parts);

$parts_count = count($parts);
for($i=0; $i<$parts_count; $i++) {
  $array[] = preg_replace('/\d+.jpg/', sprintf("%d.jpg", $parts[$i]), $url);
}

var_dump($array);

выходы

array(6) {
  [0]=>
  string(26) "http://example.com/121.jpg"
  [1]=>
  string(26) "http://example.com/122.jpg"
  [2]=>
  string(26) "http://example.com/123.jpg"
  [3]=>
  string(26) "http://example.com/124.jpg"
  [4]=>
  string(26) "http://example.com/125.jpg"
  [5]=>
  string(26) "http://example.com/126.jpg"
}
person deefour    schedule 11.07.2011