/ / Php str_replace - dois valores para substituir? - php, substituir, str-substituir

Php str_replace - dois valores para substituir? - php, substituir, str-substituir

Usando str_replace eu quero mudar $ url disto:

$url = http://example.com/images/lala1.jpg

para isso

$url = http://example.com/images/lala1-0001.jpg

Meu problema é que eu não sei como inserir o "-".

$ url está mudando, então eu realmente só sei que tem ".jpg" no seu "fim".

Meu código até agora:

for($i=1;$i<=9;$i++) {
$array[] = str_replace(".jpg",sprintf("%04d",$i).".jpg",$url); }

Alguma ideia de como posso fazer isso funcionar?

Respostas:

0 para resposta № 1

O Sprintf permite caracteres regulares nos argumentos:

str_replace(".jpg", sprintf("-%04d.jpg", $i), $url);

1 para resposta № 2

Você pode querer fazer uso de um expressão regular:

$str = preg_replace("/.jpg$/", sprintf("-%04d.jpg",$i), $url);

Isso garante que ele seja substituído apenas no final da string.