Str_replace remplacer une valeur vide

bonjour,

comment avec la commande str_replace remplacer une valeur vide par quelquechose d’autre ? j’ai bien tenté :

str_replace('','remplacement',#[Infos divers][Prix carburant E85][Top 1 Prix]#),```

mais sans succès

Merci

Je ne sais pas si cela va répondre à ta question mais lorsque j’utilise une variable dans un scénario pour éviter d’avoir une erreur lorsque elle est vide je mets la commande suivante :

Variable(nom_de_la_variable , valeur_si_variable_vide)

Tu peux utiliser l’opérateur ? : :

$t = $t === '' ? "default" : $t;

<condition> ? <valeur_si_vrai> : <valeur_si_faux>

ou en plus court avec un « elvis operator » au lieu du « ternary operator » qui dans ce cas ci revient au même mais qui ne sera pas toujours le cas (tout dépend comment est évalué $str):

$str = $str ?: 'default';

edit donc avec l’exemple d’origine:

#[Infos divers][Prix carburant E85][Top 1 Prix]# ?: 'remplacement'

exemple: (#[Aucun][Analogique 1][Brut]# donne une chaine vide)
image

Attention,

$t = '0';
$t = $t ?: 'default';
print ($t);

Affichera default car '0' est évalué à false

Merci à tous pour vos réponses.

Je vais préciser ce que je souhaite faire :
Cela concerne le prix des carburants. J’utilise le plugin « prixdescarburants » qui renvoie la valeur du prix d’un carburant du style : 1.782
afin de faire dire à google le prix de ce carburant, j’utilise actuellement cela :

str_replace('.','€',#[Infos divers][Prix carburant E85][Top 1 Prix]#)

(afin de remplacer le . par € pour plus de compréhension)

cependant, avec les ruptures de carburants actuels, #[Infos divers][Prix carburant E85][Top 1 Prix]# est vide.

donc du coup en plus de remplacer le . par €, je souhaiterai sur la même commande remplacer une valeur vide par « Rupture ».

Merci encore

Bon, ben c’est nickel !!! ça fonctionne…

 str_replace(".",'euro',#[Infos divers][Prix carburant E85][Top 2 Prix]#) ?: 'remplacement'

si le résultat n’est pas vide exemple : 1.789 cela m’affiche 1euro789
si le résultat est vide il m’affiche : Rupture

Merci beaucoup

bon, ça marche dans le testeur d’expression mais quand je mets la commande dans un message dit par google via le plugin « Google Cast » ça ne marche plus…
il dit tout le temps « Rupture. »

une idée ?

Carburant , Prix de l'Ethanol.
Intermarché L : str_replace('.','euro',#[Infos divers][Prix carburant E85][Top 1 Prix]#) ?: 'Rupture,'
Leclerc P : str_replace('.','euro',#[Infos divers][Prix carburant E85][Top 2 Prix]#) ?: 'Rupture,'
Super U  : str_replace('.','euro',#[Infos divers][Prix carburant E85][Top 3 Prix]#) ?: 'Rupture,'
Intermarché P  : str_replace('.','euro',#[Infos divers][Prix carburant E85][Top 4 Prix]#) ?: 'Rupture,'
Leclerc G : str_replace('.','euro',#[Infos divers][Prix carburant E85][Top 5 Prix]#) ?: 'Rupture,'
Mise à jour effectuée le collectDate(#[Infos divers][Prix carburant E85][Top 1 Prix]#,"j à G:i").```

en gros si j’ajoute quelque chose avant ça ne fonctionne pas :

Leclerc G : str_replace('.','euro',#[Infos divers][Prix carburant E85][Top 5 Prix]#) ?: 'Rupture,'


Et si tu mets
"Leclerc G : " . str_replace('.',' euro ',#[Infos divers][Prix carburant E85][Top 5 Prix]#) ?: 'Rupture,'

?

Merci pour ta réponse,

non … :expressionless:

image

Et avec des parenthèses?
"Leclerc G : " . (str_replace('.',' euro ',#[Infos divers][Prix carburant E85][Top 5 Prix]#) ?: 'Rupture,')

npn plus !! :wink:

image

pareil avec crochets