Besoin d'enlever des éléments d'une variable [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
jeudi 11 avril 2013
Statut
Membre
Dernière intervention
11 avril 2013
-
Messages postés
2
Date d'inscription
jeudi 11 avril 2013
Statut
Membre
Dernière intervention
11 avril 2013
-
Bonjour,

Si une âme charitable aurait la gentillesse de m'aider, ce serait très sympathique.

N'étant pas un spécialiste, je suis désolé des terme que j'utilise qui ne sont pas forcemment justes.

J'ai une variable sous la forme par exemple $url_image qui est sélectionnée à travers une requête sql dans mon fichier php.

Puis $template->set_var("urlimage", $url_image); pour la récupérer dans mon fichier.tpl, c'est le fonctionnement actuel.

Par contre, la variable se présente sous la forme par exemple "une-belle-image.jpg" et je souhaiterait enlever les tirets, le .jpg pour que cela devienne uniquement "une belle image" dans mon fichier tpl.

Est-ce que quelqu'un sait comment je pourrais faire ?

Avec un grand merci

Eric

2 réponses

Messages postés
5583
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
9 juillet 2021
942
Salut besric123,

Tu peux essayer comme ceci :

<?php 

$url_image = "une-belle-image.jpg"; 

echo "<p>valeur de départ de url_image = $url_image</p>"; 
# subtitution des tirets par des espaces 
$url_image = preg_replace("/-/", " ", $url_image); 
# retrait de l'extension .jpg 
$url_image= preg_replace("/\.jpg$/i", "", $url_image); 

echo "<p>valeur après traitement de url_image = $url_image</p>"; 

?>

donne :

valeur de départ de url_image = une-belle-image.jpg 

valeur après traitement de url_image = une belle image

l'extension .jpg est retirée, même si elle est en majuscules (.JPG).

Si tu veux remplacer par des espaces d'autres caractères que le tiret (par exemple l'underscore), ajoute les entre crochets, comme cela :

$url_image = preg_replace("/[-_]/", " ", $url_image);

Dal
Messages postés
2
Date d'inscription
jeudi 11 avril 2013
Statut
Membre
Dernière intervention
11 avril 2013

Bonjour Dal,

Un grand merci pour ta gentillesse et le service que tu me rends.

Je vais tester cela ce soir dès mon retour à la maison

Bonne journée