Page 1 sur 1

Raccourcir une chaîne...

Posté : 25 janv. 2009, 21:04
par pèere limpinpin
Bonsoir,

J'ai passé mon après-midi sans trouver la réponse...

Soit une chaîne comme "http://www.viwiv.com/lp-content/uploads ... 25x300.jpg"...

Je voudrai la transformer en http://www.viwiv.com/lp-content/uploads ... t00302.jpg

C'est à dire sans "225x300".

Le champ "http://www.viwiv.com/lp-content/uploads/2008/08/" peut naturellement varier (c'est l'intérêt de la programmation !), ainsi que le "225x300.jpg"...

En revanche, le tiret avant "225x300.jpg" apparaît toujours ! :)

J'ai essayé "explode", "implode", "substr", sans succès.

J'ai lu attentivement la documentation de Php, mais elle ne m'a pas renseigné.

Merci pour votre aide !

V.

Posté : 25 janv. 2009, 21:15
par thehawk
Bon soir.

Je ne comprend pas :)

Il faut reperer ce qui est variable et ce qui ne l'est pas.

http://www.viwiv.com/ => Variable ?
lp-content/uploads/2008/08/ => Variable(Apparemment oui)
pict00302 => Variable (Apparemment oui)
-225x300.jpg => la structure est la même ? soit 12 caractères.

Tu peux faire en premier un explode pour récuperer l'extension ici : .jpg
Puis un $rest = substr($maVar, -12, 0);

Bye Hawk

(Un bout de code de ce que tu as fait serait du meilleur effet)

Posté : 25 janv. 2009, 21:15
par blof
Bonsoir,

par exemple en utilisant les expressions régulières :
<?php

$url = 'http://www.viwiv.com/lp-content/uploads/2008/08/pict00302-225x300.jpg';

$new_url = preg_replace('/-\d+x\d+/', '', $url);

echo $new_url;

?>

Posté : 25 janv. 2009, 21:53
par pèere limpinpin
Bonsoir,

Merci, je vais tester un peu plus tard les deux solutions, car là je suis fatigué.

Je produirai mon code ici en espérant qu'il sera du "meilleur effet" ! :lol:

Pour répondre à thehawk, "http://www.viwiv.com" est variable (un autre site...), la longueur de la chaîne "-225x300.jpg" peut aussi varier et être de type "-1024x1024" ou "_1024x800" : voilà qui complique peut-être la situation.

Quoiqu'il en soit, encore merci.

Bien à vous,

V.
-----
(3 heures plus tard)

Re...

Oui, oui, Blof, ton expression régulière me donne entière satisfaction !

Il ne me reste pas qu'à la décrypter et à la comprendre pour vouloir progresser.

Merci à toi,

Cordialement,

V.